工具准备,下载好apktool ibotpeaches.github.io/Apktool/ zipaligin,以及签名文件mykey.jks 将下载好的apktool,要反编译的apk文件,mykey.jks 放到同一个文件apktest下
步骤1:
在apktest下执行终端命令,
java -jar apktool_2.7.0.jar d -f demo.apk -o demo02
会生成反编译后的文件,可以修改应用图标,名称等, 检查下ManiFest文件中android:usesCleartextTraffic="true是否为true,要改成true
- 1、针对 Android 6+,如果 extractNativeLibs 设置为 false 且 so 未压缩,将阻止您安装未对齐 APK,并提示:「Failure [INSTALL_FAILED_INVALID_APK: Failed to extract native libraries, res=-2]」。旧版的安卓并不关心,总是提取本地库,即使未对齐也可以安装。
- 2、google市场的要求不管是否对 so 文件做压缩,都要做zipalign对齐才能上传。
- 3、从android studio 2.2 preview 2 和最新的构建工具开始,构建过程将自动存储未压缩的本机库,并在apk中对齐页面。不管是否对 so 进行压缩,都会做对齐的操作。*
- 未添加该属性到 AndroidManifest.xml 中,即使用默认值时 会自动去压缩 so 文件(除非一些引入库是可能导致问题,如objectbox)
步骤2:生成新的demo_repackage1.apk
java -jar apktool_2.7.0.jar b -o demo_repackage1.apk demo02
步骤3:需要将新签名一起打进去 mysign.apk
jarsigner -verbose -keystore mykey.jks -storepass 123456 -signedjar mysign.apk demo_repackage1.apk mykey
步骤4:zipalign生成新的apk modify_mysign.apk ps:如果不做这一步,记得在Manifest.xml添加
android:extractNativeLibs="true"
然后终端命令执行
zipalign -v 4 mysign.apk modify_mysign.apk
最后安装
adb install modify_mysign.apk