Dies ist der Quellcode des Xiaomi-Modding-Tools XiaomiTool V2 (www.xiaomitool.com)
Das Projekt wird derzeit aus mehreren Gründen teilweise aufgegeben. Wenn Sie Fehler beheben oder Dinge tun möchten, teilen Sie einfach das Repo auf. Dieses Projekt begann als Projekt auf Studentenebene: Es wurden viele schlechte Praktiken angewendet und schlechte Entscheidungen getroffen, was die Wartung dieses Projekts kostspielig machte. Zum Beispiel:
Auch wenn einige dieser Punkte recht einfach behoben werden könnten, ist das Basisprojekt immer noch nicht gut genug, um es für mich lohnenswert zu machen. Die erforderliche Änderung ist so radikal, dass sie fast so kostspielig wäre, als würde man das Ganze von Grund auf neu schreiben.
Dieses Projekt verwendet Gradle, daher können Sie das Repo einfach klonen und verwenden:
gradlew build
und gradlew run
Beim Erstellen wird nur die JAR-Datei erstellt, was nicht ausreicht, damit XiaoMiTool funktioniert: Sie müssen es auch mit den benötigten Ressourcen bündeln (dem res
-Verzeichnis im Repo). Stellen Sie sicher, dass Sie den Repository-Zweig auswählen, der Ihrem Zielplattform-Betriebssystem (Windows, Mac, Linux) entspricht, da die Ressourcendateien unterschiedlich sind.
Das relative Verzeichnis res/tools
muss die richtigen Tools ( adb
, fastboot
für jede Plattform, auch treiberbezogene Dateien für Windows) für das Zielbetriebssystem enthalten. Sie können die Tools aus den verschiedenen Zweigen dieses Repositorys (Windows, Linux, Mac) beziehen. Bitte beachten Sie, dass es sich adb
und fastboot
NICHT um generische Programme handelt, die Sie aus dem Internet herunterladen können, sondern um speziell für MIUI kompilierte benutzerdefinierte Programme. Wenn Sie die aus diesem Repo nicht verwenden, verlieren Sie die Möglichkeit, den Bootloader zu entsperren und MIUI-ROMs über die Bestandswiederherstellung zu flashen.
Für das Windows-Repo empfiehlt es sich außerdem, das Verzeichnis res/driver
beizubehalten, da es den Treiber enthält, den XiaoMiTool unter Windows installiert, um eine Verbindung zu den Geräten herstellen zu können. Außerdem empfiehlt es sich, das Programm mit Administratorrechten zu starten (Sie können dazu den Launch4j-Launcher verwenden), um die Treiber installieren zu können.
Die für diese Gradle-Konfiguration verwendete Java-Version ist Java 11, der Quellcode ist jedoch mit Java 1.8 kompatibel, sodass eine Version für 32-Bit-JRE 1.8 kompiliert werden kann.
XiaoMiTool V2 verwendet JavaFX für die GUI. Wenn Sie also ein Bundle erstellen möchten, müssen Sie ein JRE-Image mit dem JavaFX-Modul erstellen. Weitere Einzelheiten dazu finden Sie im offiziellen JavaFX-Leitfaden. Wenn Sie das Projekt für JRE 1.8 kompilieren, ist JavaFX bereits in der Standard-JRE gebündelt.
Wenn Sie den Code ändern und ein verteilbares Bundle erstellen möchten, ist es wahrscheinlich am einfachsten, eine frühere Bundle-Version zu nehmen, die Dateien zu extrahieren, die JAR-Datei zu ersetzen und sie neu zu packen.
Wie im Abschnitt State of the project
angegeben, ist dieses Projekt teilweise aufgegeben. Verbringen Sie nicht zu viel Zeit damit, sie könnten sonst einfach ignoriert werden.