Savez-vous s'il est possible de modifier le code compilé dans le package apk ?
J'ai essayé les étapes suivantes :
- Décompresser le fichier xapk avec la commande :
unzip my-app.xapk
(j'ai plusieurs apk là-dedans et j'ai besoin de modifier l'un d'entre eux, pour corriger un bug...) - Décompresser l'un des apk :
apktool d my-component.apk
- Modifier l'un des fichiers smali
- Construire l'apk :
apktool b ./my-component -o ./my-component.apk
- Générer un certificat :
keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias
- Signer tous les fichiers extraits du xapk :
find ./ -name "*.apk" -exec apksigner sign --ks my-release-key.jks --ks-pass pass:123456 --out {} {} \;
- Installer tous les composants :
adb install-multiple -r my-component.apk another-component.apk....
Après toutes ces étapes, mon application fonctionne partiellement et j'ai des erreurs dans le logcat :
ArtManagerService: Impossible de préparer le profil pour mon-package:/data/app/~~SeVk-WOasdas3A-hIPw==/my-component-TwgvYqasd_uL4r2tgdBZ-og==/base.apk