解决在线打包的apk targetSdkVersion低于26而无法上架到应用市场
在应用市场上传apk包时,提示安装包的API等级必须高于等于26。
一、首先安装Java及配环境变量
jdk-14.0.2+apktool-2.4.1
安装步骤略过,配环境变量:
1、新建变量JAVA_HOME,变量值填写为安装的bin目录下文件
2、找到系统变量中path,在最后添加;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
3、新建变量CLASSPATH,变量值为.;%JAVA_HOME%\bin;%JAVA_HOME%\lib\dt.jar;%Java_Home%\lib\tools.jar
4、环境变量设置完毕后,运行cmd,输入java -version,显示出安装jdk的版本就表明配置无误。
二、使用apktool
1、运行cmd,输入指令:cd xx/xx/apktool转到apktool目录下,然输入指令:apktool d admin.apk,如图:
2、执行成功后,目录下生成 admin文件夹,找到文件夹下的apktool.yml并打开,将targetSdkVersion改为26,如图:
3、重新打包,再次输入指令:apktool b admin -o new_admin.apk,结果无法重新打包成功,报错信息如下图:
找了很久没找到合适的解决方法,最后将AndroidMainifest.xml中android:compileSdkVersion="29" android:compileSdkVersionCodename="10"
删除掉后,再次打包就执行成功了,生成的new_admin.apk文件是没有签名的,必须重新签名,否则无法正常安装。
4、重新签名
(1).apk签名(jarsigner)
$1:keystore文件的绝对路径
$2:keystore的别名
$3:keystore文件的密码
$4:新的apk包名
$5:要签名的apk包路径
jarsigner -keystore $1 -storepass $3 -signedjar $4 $5 $2 -digestalg SHA1 -sigalg
(2). 使用autosign进行签名
①将autosign解压,②将修改后的安装包命名为“update.zip ”,③将update.zip 文件复制到签名工具的目录下,④双击运行 Sign.bat。
(3). 使用MT管理器签名,点击选择要签名的 apk,点击功能,就可以看到 APK 签名,点击后选择你要使用的签名密钥(或者使用默认签名密钥),就可以开始签名了。