Ceci est le code source de l'outil de modding Xiaomi XiaomiTool V2 (www.xiaomitool.com)
Le projet est actuellement à moitié abandonné pour plusieurs raisons. Si vous voulez corriger des bugs ou faire des choses, créez simplement le dépôt. Ce projet a commencé comme un projet au niveau étudiant : de nombreuses mauvaises pratiques ont été utilisées et de mauvais choix ont été faits, rendant ce projet coûteux à maintenir. Par exemple:
Même si certains de ces points pourraient être corrigés assez facilement, le projet de base n'est toujours pas assez bon pour qu'il en vaille la peine à mes yeux. Le changement requis est si radical qu’il serait presque aussi coûteux que de tout réécrire à partir de zéro.
Ce projet utilise Gradle, vous pouvez donc simplement cloner le dépôt et utiliser :
gradlew build
et gradlew run
La construction va créer uniquement le fichier jar, ce qui n'est pas suffisant pour faire fonctionner XiaoMiTool : vous devrez également le regrouper avec les ressources nécessaires (le répertoire res
dans le dépôt). Assurez-vous de sélectionner la branche du référentiel correspondant au système d'exploitation de votre plateforme cible (Windows, Mac, Linux), car les fichiers de ressources sont différents.
Le répertoire relatif res/tools
doit contenir les bons outils ( adb
, fastboot
pour chaque plate-forme, ainsi que les fichiers liés aux pilotes pour Windows) pour le système d'exploitation cible. Vous pouvez récupérer les outils depuis les différentes branches de ce référentiel (Windows, Linux, Mac). Veuillez garder à l'esprit adb
et fastboot
ne sont PAS des versions génériques que vous pouvez télécharger sur Internet, mais des versions personnalisées compilées spécifiquement pour MIUI. Si vous n'utilisez pas ceux de ce dépôt, vous perdrez la possibilité de déverrouiller le chargeur de démarrage et de flasher les roms MIUI via la récupération de stock.
Pour le dépôt Windows, il est également conseillé de conserver le répertoire res/driver
car il contient le pilote que XiaoMiTool installera sur Windows pour pouvoir se connecter aux appareils. De plus, il est conseillé de démarrer le programme avec des privilèges administratifs (vous pouvez utiliser le lanceur launch4j pour ce faire) pour pouvoir installer les pilotes.
La version Java utilisée pour cette configuration progressive est Java 11, cependant le code source est compatible avec Java 1.8, permettant de compiler une version pour 32 bits jre 1.8.
XiaoMiTool V2 utilise JavaFX pour l'interface graphique, donc si vous souhaitez créer un bundle, vous devez créer une image JRE avec le module JavaFX. Vous pouvez obtenir plus de détails sur la façon de procéder dans le guide officiel JavaFX. Si vous compilez le projet pour JRE 1.8, JavaFX est déjà intégré au JRE standard.
Si vous souhaitez modifier le code et créer un bundle distribuable, le moyen le plus simple est probablement de prendre une version précédente du bundle, d'extraire les fichiers, de remplacer le fichier jar et de le reconditionner.
Comme indiqué dans la section State of the project
, ce projet est semi-abandonné. Ne leur consacrez pas trop de temps, ils pourraient simplement être ignorés.