基于build-tools 30.0.2 lib apksigner.jar 签名
java -jar apksigner.jar sign --ks commonKey.jks --ks-key-alias commonKey --v2-signing-enabled true --v3-signing-enabled false --out ooo.apk --in a.apk
错误1
adb: failed to install ooo.apk: Failure [INSTALL_FAILED_INVALID_APK: Failed to extract native libraries, res=-2]
解决错误1 在30.0.2\ 目录下
zipalign -p -f -v 4 a.apk outfile.apk
adb install outfile.apk后
错误2
adb: failed to install outfile.apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed collecting certificates for /data/app/vmdl1102855310.tmp/base.apk: Failed to collect certificates from /data/app/vmdl1102855310.tmp/base.apk: META-INF/COMMONKE.SF indicates /data/app/vmdl1102855310.tmp/base.apk is signed using APK Signature Scheme v2, but no such signature was found. Signature stripped?]
基于签名解决错误2
java -jar apksigner.jar sign --ks commonKey.jks --ks-key-alias commonKey --v2-signing-enabled false --v3-signing-enabled false --out ooo.apk --in a.apk
再次错误1解决命令后安装出现
错误3
adb: failed to install xxx.apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Scanning Failed.: No signature found in package of version 2 or newer for package com.a.b]
解决错误3
1. 在反编译后的目录中找到apktool.yml文件,在里面将targetSdkVersion: '30' 修改未30以下,然后重新打包、签名【v2 false, v3 false】、执行内存对齐命令,再次install。