android app打包加固后的apk无法安装问题解决-kb88凯时官网登录

来自:网络
时间:2024-06-09
阅读:
免费资源网,https://freexyz.cn/

最近开发的一个应用要上架,正常流程打完包后去加固,由于以前一直用的是360的加固助手,这里开始也是选择用它。

使用360加固:

问题一、开始出现的问题是说应用未签名无法加固,我明明是签名后打的包,怎么会没签名呢?后面使用  java -jar apksigner.jar verify -v apk地址   命令查看发现是没有进行v1签名,而360加固要求有v1,一查之下发现是android6.0之前用v1,android7.0之后用v2,把自己项目的支持最低版本改为23以下,重新打包发360发现可以加固了。

问题二、加固完后的apk发现无法安装。查了一下资料说啥的都有,最后发现一个靠谱的,是要进行再次签名处理,说是经过加固后可能会破坏掉签名。下面重点记录一下重新签名:

原理 (使用androidsdk 自带的apksigner.jar 文件进行签名, apksigner.jar文件在android  sdk 的安装路径下,大致如此:{d:\program files}\android\sdk\build-tools\x.x.x\lib)在任意版本下都有该文件。

准备工作:

先进入apksigner.jar文件所在的路径:我的就是d:\program files\android\sdk\build-tools\30.0.3\lib

android app打包加固后的apk无法安装问题解决

1、先查一下加固后的apk是否有进行签名

输入命令:java -jar apksigner.jar verify -v apk地址

java -jar apksigner.jar verify -v d:\test\app-release_100_jiagu.apk

android app打包加固后的apk无法安装问题解决

does not verify
error: missing meta-inf/manifest.mf

出现上图说明没有签名,其实加固前是有签名的,只是加固后被破坏了,这就需要进行再次签名。

2、使用如下命令签名

java -jar apksigner.jar sign --ks [签名文件路径] --ks-key-alias [alias的别名] --ks-pass pass:[密码] --key-pass pass:[密码] --out [签名后的新安装包路径] [待签名的安装包路径,即是加固后的安装包路径]

android app打包加固后的apk无法安装问题解决

java -jar apksigner.jar sign --ks d:\myproject\test\xxx.jks --ks-key-alias xxx --ks-pass pass:xxx --key-pass pass:xxx --out d:\myproject\test\app-sign.apk d:\test\app-release_100_jiagu.apk

执行成功不会有信息提示,可以去输出路径下查看是否有包,我的如下:

android app打包加固后的apk无法安装问题解决

提醒:这个语句太长,建议要细心一点,出问题时检查是否语句输错了,我就是这样,错了几次发现都是语句输错了。

3、去验证签名后的apk是否签名,重复1的语句,只是apk变成了2签名后的

java -jar apksigner.jar verify -v d:\myproject\test\app-sign.apk

android app打包加固后的apk无法安装问题解决

这是就是签名成功了,然后就可以愉快的安装了。

如果不想降低自己的项目android版本,可以使用腾讯加固。

免费资源网,https://freexyz.cn/
返回顶部
顶部
网站地图