Este é o código fonte da ferramenta de modding Xiaomi XiaomiTool V2 (www.xiaomitool.com)
O projeto está atualmente semi-abandonado por vários motivos. Se você quiser corrigir bugs ou fazer alguma coisa, basta fazer um fork do repositório. Este projeto começou como um projeto de nível estudantil: muitas práticas ruins foram usadas e escolhas erradas foram feitas, tornando a manutenção deste projeto cara. Por exemplo:
Mesmo que alguns desses pontos pudessem ser corrigidos com bastante facilidade, o projeto básico ainda não é bom o suficiente para valer a pena para mim. A mudança necessária é tão radical que seria quase tão cara quanto reescrever tudo do zero.
Este projeto usa gradle, portanto você pode simplesmente clonar o repositório e usar:
gradlew build
e gradlew run
A construção criará apenas o arquivo jar, o que não é suficiente para fazer o XiaoMiTool funcionar: você também precisará agrupá-lo com os recursos necessários (o diretório res
no repositório). Certifique-se de selecionar a ramificação do repositório correspondente ao sistema operacional da plataforma de destino (Windows, Mac, Linux), pois os arquivos de recursos são diferentes.
O diretório relativo res/tools
deve conter as ferramentas corretas ( adb
, fastboot
para cada plataforma, também arquivos relacionados ao driver para Windows) para o sistema operacional de destino. Você pode obter as ferramentas dos diferentes ramos deste repositório (Windows, Linux, Mac). Tenha em mente que adb
e fastboot
NÃO são os genéricos que você pode baixar da Internet, mas sim os personalizados compilados especificamente para o MIUI. Se você não usar os deste repositório, perderá a possibilidade de desbloquear o bootloader e atualizar as ROMs MIUI por meio da recuperação de estoque.
Para o repositório do Windows, também é aconselhável manter o diretório res/driver
, pois contém o driver que o XiaoMiTool instalará no Windows para poder se conectar aos dispositivos. Além disso, é aconselhável iniciar o programa com privilégios administrativos (você pode usar o launcher launch4j para fazer isso) para poder instalar os drivers.
A versão java utilizada para esta configuração gradle é java 11, porém o código fonte é compatível com java 1.8, possibilitando compilar uma versão para 32 bits jre 1.8.
XiaoMiTool V2 usa JavaFX para a interface gráfica, portanto se você deseja criar um pacote, você deve criar uma imagem JRE com o módulo JavaFX. Você pode obter mais detalhes sobre como fazer isso no guia oficial do JavaFX. Se você compilar o projeto para o JRE 1.8, o JavaFX já estará incluído no JRE padrão.
Se você quiser modificar o código e criar um pacote distribuível, a maneira mais fácil é provavelmente pegar uma versão anterior do pacote, extrair os arquivos, substituir o arquivo jar e reempacotá-lo.
Conforme indicado na seção State of the project
, este projeto está semi-abandonado. Não gaste muito tempo com eles, eles podem simplesmente ser ignorados.