Это исходный код инструмента для моддинга Xiaomi XiaomiTool V2 (www.xiaomitool.com).
В настоящее время проект полузаброшен по ряду причин. Если вы хотите исправить ошибки или что-то сделать, просто создайте репозиторий. Этот проект начался как проект на уровне студентов: было использовано много плохих практик и сделан неправильный выбор, что сделало содержание этого проекта дорогостоящим. Например:
Даже если некоторые из этих моментов можно было бы исправить довольно легко, базовый проект все равно недостаточно хорош, чтобы оправдать его. Требуемые изменения настолько радикальны, что это будет почти так же дорого, как переписать все с нуля.
В этом проекте используется gradle, поэтому вы можете просто клонировать репозиторий и использовать:
gradlew build
и gradlew run
При сборке будет создан только файл jar, чего недостаточно для работы XiaoMiTool: вам также необходимо будет связать его с необходимыми ресурсами (каталог res
в репозитории). Обязательно выберите ветку репозитория, соответствующую ОС вашей целевой платформы (Windows, Mac, Linux), поскольку файлы ресурсов разные.
Относительный каталог res/tools
должен содержать правильные инструменты ( adb
, fastboot
для каждой платформы, а также файлы, связанные с драйверами для Windows) для целевой ОС. Вы можете получить инструменты из разных веток этого репозитория (Windows, Linux, Mac). Пожалуйста, имейте в виду, что adb
и fastboot
- это НЕ универсальные программы, которые можно скачать из Интернета, а кастомные, скомпилированные специально для MIUI. Если вы не используете те, что из этого репозитория, вы потеряете возможность разблокировать загрузчик и прошить прошивки MIUI через стоковое рекавери.
Для репозитория Windows также рекомендуется сохранить каталог res/driver
, поскольку он содержит драйвер, который XiaoMiTool установит в Windows, чтобы иметь возможность подключаться к устройствам. Кроме того, желательно запустить программу с правами администратора (для этого можно использовать программу запуска launch4j), чтобы иметь возможность установить драйверы.
Версия Java, используемая для этой конфигурации Gradle, — Java 11, однако исходный код совместим с Java 1.8, что позволяет скомпилировать версию для 32-битной jre 1.8.
XiaoMiTool V2 использует JavaFX для графического интерфейса, поэтому, если вы хотите создать пакет, вам необходимо создать образ JRE с модулем JavaFX. Более подробную информацию о том, как это сделать, вы можете получить в официальном руководстве по JavaFX. Если вы компилируете проект для JRE 1.8, JavaFX уже включен в стандартную JRE.
Если вы хотите изменить код и создать распространяемый пакет, самый простой способ — это, вероятно, взять предыдущую версию пакета, извлечь файлы, заменить файл jar и переупаковать его.
Как указано в разделе State of the project
, этот проект полузаброшен. Не тратьте на них слишком много времени, их могут просто проигнорировать.