apk重新签名需要使用zipalign工具进行对齐操作,否则Android 12版本的手机上会出现无法解析安装的情况
在Android SDK/build-tools/SDK版本/,按着shift键,鼠标右击,在此处打开命令窗口,输入zipalign
例如:
因为我这是PowerShell,命令前面需要加.\
-c :检查.apk文件是否zipalign优化过
-f :覆盖已经存在的文件
-p :页面对其存储对象文件
-v :输出优化后的详细信息 xx.apk
-z :将使用Zopfli
align : 字节对齐, 固定输入 4 就行, 是32位对齐
对齐,需要将apk复制到对应的目录下:
zipalign -p -f -v 4 未对齐APK文件 生成的APK文件
再进行签名:
apksigner sign --ks 密钥库文件 --ks-key-alias 密钥库别名 --ks-pass pass:密码 --v2-signing-enabled true -v --out 签名后的APK文件 要签名的APK文件
示例:
apksigner sign --ks H:\demo\app\demo.jks --ks-key-alias key --ks-pass pass:123456 --v2-signing-enabled true -v --out H:\sign.apk H:\Android\Sdk\build-tools\32.0.0\a.apk
签名成功后,会显示“Signed”