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