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的值,修改后地图功能应能正常使用。

相关推荐
安卓开发者5 小时前
Android RxJava 组合操作符实战:优雅处理多数据源
android·rxjava
阿华的代码王国5 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端
一条上岸小咸鱼5 小时前
Kotlin 基本数据类型(三):Booleans、Characters
android·前端·kotlin
Jerry说前后端5 小时前
RecyclerView 性能优化:从原理到实践的深度优化方案
android·前端·性能优化
alexhilton6 小时前
深入浅出着色器:极坐标系与炫酷环形进度条
android·kotlin·android jetpack
一条上岸小咸鱼12 小时前
Kotlin 基本数据类型(一):Numbers
android·前端·kotlin
Huntto12 小时前
最小二乘法计算触摸事件速度
android·最小二乘法·触摸事件·速度估计
一笑的小酒馆12 小时前
Android中使用Compose实现各种样式Dialog
android
红橙Darren13 小时前
手写操作系统 - 编译链接与运行
android·ios·客户端
鹏多多.16 小时前
flutter-使用device_info_plus获取手机设备信息完整指南
android·前端·flutter·ios·数据分析·前端框架