J'utilise ApkTool pour décoder AndroidManifest.xml
à l'intérieur d'un fichier APK et cela fonctionne parfaitement, mais comment puis-je l'encoder à nouveau, de la même manière qu'il a été encodé avant, après avoir appliqué quelques modifications? Par exemple (dans mon cas), changer le libellé de l'application.
Vous pouvez à nouveau utiliser apktool pour créer un nouveau fichier APK comprenant votre _ AndroidManifest.xml
.
Décompilez d'abord le fichier APK:
Java -jar apktool.jar decode app.apk app
Modifiez ensuite les fichiers souhaités dans le répertoire app
et recompilez-le dans un nouveau fichier APK:
Java -jar apktool.jar build app app_new.apk
aapt
doit être sur notre PATH
ou utilisez le --aapt
option pour spécifier l'emplacement de l'exécutable. Sinon, apktool échouera lors de la reconstruction de l'APK.
Remarque: L'APK reconstruit n'est ni signé ni zipaligned, juste reconditionné. Jetez un œil à ce site Web pour plus de détails sur la signature et l'alignement de votre nouvel APK.
Use appt for Android-sdk (ex:- /build-tools/27.0.3/aapt )
./aapt d xmltree ./debug.apk AndroidManifest.xml
N: Android=http://schemas.Android.com/apk/res/Android
E: manifest (line=1)
A: Android:versionCode(0x0101021b)=(type 0x10)0x1
A: Android:versionName(0x0101021c)="1.0" (Raw: "1.0")
A: package="com.example.activity" (Raw: "com.example.activity")
E: uses-sdk (line=6)
A: Android:minSdkVersion(0x0101020c)=(type 0x10)0x8
A: Android:targetSdkVersion(0x01010270)=(type 0x10)0xf
E: application (line=8)
A: Android:label(0x01010001)=@0x7f030000
A: Android:icon(0x01010002)=@0x7f020000
E: activity (line=10)
A: Android:label(0x01010001)=@0x7f030000
A: Android:name(0x01010003)=".SampleActivity" (Raw: ".SampleActivity")
E: intent-filter (line=12)
E: action (line=13)
A: Android:name(0x01010003)="Android.intent.action.MAIN" (Raw: "Android.intent.action.MAIN")
E: category (line=14)
A: Android:name(0x01010003)="Android.intent.category.LAUNCHER" (Raw: "Android.intent.category.LAUNCHER")
Ce lien pourrait aider http://elinux.org/Android_aapt
Un autre outil pour le lien source google "AXMLPrinter" https://code.google.com/archive/p/Android4me/downloads
Java -jar ./AXMLPrinter2.jar ./debug.apk_FILES/AndroidManifest.xml