APK injection, recompiling android manifest
Installation can give parse error on following condition, see if any met with you -
- Name of the package is changed after signing: Use the exact name asthe signed package is (instead, adjust the name in Manifest)
- Package.is compiled against on higher API level: Correct the API level inManifest file.
- Package is executed from SD-card: Run (install) the apk-file from phones memory OR use adb command to install it.
You can manually sign your apk as given here.
The only reliable way I found to repackage the application with plain text androiod manifest is by repacking it using aapt
directly.
aapt package -f -M ./AndroidManifest.xml -S res1/ -S res2/ ... -I android.jar -F MyProject.apk.unaligned
To create the apk, and then :
aapt add -f MyProject.apk.unaligned classes.dex
To add compiled sources to the package.
Then using jarsigner to sign the package:
jarsigner -storepass <keystore password> -keystore <keystore filename> MyProject.apk.unaligned <key name>
I also experienced similar problems, but I had luck with Easy APK tool.
I opened the app, then navigated to options -> apktool
and checked don't decode classes.dex
. Then I was able to successfully recompile the app.
The other alternative is using aapt, as Ben already said, but it requires significantly more knowledge/effort.