使用的是Android Stuido 来开发安卓。项目需要接入了高德定位的sdk,在高德开放平台上申请了key,代码直接运行在手机上,和直接拿build下面的apk定位都是可以使用。在代码混淆签名生成的apk定位就是出不来,一直以为是将高德的sdk也给混淆后才不能用,在高德开放平台上找到了关于混淆的代码,如下
-keep class com.amap.api.location.**{*;}
-keep class com.amap.api.fence.**{*;}
-keep class com.autonavi.aps.amapapi.model.**{*;}
加入到混淆代码中,结果还是不行。最后的解决方法是重新在高德上申请key,这次的sha1是拿项目签名后的sha1。如何拿到这个sha1值操作如下:
在AS的控制平台Terminal里面,输入keytool -v -list -keystore 加上jks的路径,按两次回车就可以拿到sha1