android apk 加固后的地图加载异常及重新签名

1.首先根据需求将打包生成后的APK进行加固,可以使用360、阿里、腾讯加固等。

2.加固后的APK无法直接安装,需要重新进行签名。

3.首先找到sdk的位置,进入build-tools目录。

4.根据gradle文件选择版本目录。

5.将加固后的APK放至该目录下。在此目录进入命令行

6.使用指令:zipalign -f -p -v 4 test.apk newtest.apk 对APK进行对齐操作,其中test.apk为加固后的apk名称,newtest.apk 为对齐后新生成的apk名称,两者名称不能相同。对齐成功后会显示Verification succesful

7.将该目录下对齐后的newtest.apk 文件拷贝到该目录下的lib文件夹中,然后进入该目录使用 cd lib 命令。

8.使用指令:java -jar aoksigner.jar sign --ks D:\android-keystore --ks-key-alias android.keystore newtest.apk 。其中第一部分红色为你自己签名的路径,第二部分为签名文件别名,第三部分为复制进该目录的已加固和已对齐的apk文件。回车后输入密码进行签名操作,如果没有任何提示则说明签名成功。

9.如果安装加固及签名后的apk后,apk中的地图或者定位不能正确加载时,则有可能是签名后SHA1值发生变化了。将apk文件后缀名修改为zip。

10.解压后找到META-INF目录,找到该目录下的CERT.RSA 文件或者ANDROID_.RSA(有些目录会是这个名字)。

11.在META-INF目录使用cmd进如命令行。

12.使用命令:keytool -printcert -file CERT.RSA 查看SHA1的值。

13.将SHA1的值赋值后,登录百度地图开发者平台后更改申请key的相对应的SHA1的值,修改后地图功能应能正常使用。

相关推荐
古法安卓11 分钟前
Android-深入理解 Android 回调(Callback)机制
android·性能优化·android studio
古法安卓12 分钟前
Android-车机 GNSS 定位数据接收问题排查
android·java·android studio
FungLeo2 小时前
Flutter 吸顶分组列表实战:语义桶分组 + 点击头平滑滚动
android·flutter
阿巴斯甜3 小时前
Android 自定义权限
android
FungLeo3 小时前
Flutter 超长 StatefulWidget 拆分术:part of + extension on State 实战
android·flutter·dart
小王C语言5 小时前
MySQL 数据类型:数值类型、字符串类型、日期和时间类型、enum 和 set、find_in_set 查询
android·数据库·mysql
我命由我123455 小时前
Android 控件 - CardView(快速实现圆角)
android·java·java-ee·kotlin·android studio·android-studio·android runtime
码云数智-园园5 小时前
Android 全方位性能优化合集
android·性能优化
hunterandroid6 小时前
[Android 从零到一] Compose 动画实战:从 AnimatedVisibility 到复杂转场与手势联动
android
Knight_AL6 小时前
Lombok @Builder 踩坑:build() 前后对象类型不一样
android·java·开发语言