造成这个问题的原因,我总结了下:
一、权限问题
在Android系统升级到7.0之后,我们发现,即使用户授予了App定位权限,App依然存在无法定位成功的问题。追查原因为:授予权限与初始化位置相关类之间存在时续逻辑问题,即如果先初始化如WifiManager、TelephonyManager,再请求确认定位权限,则即使用户确认可以授予App定位权限,App后续仍然拿不到基站、WIFI等信息,从而无法定位;反之,则可以在授予权限之后正常使用定位。
二、.SO文件问题
从官网上下载sdk,检查libs文件夹下是否缺少.so库。三、AK问题
四、获取SHA1的方法
① 获取开发版SHA1
1、win+r,输入cmd打开命令提示符界面;
2、 输入命令 C: 进入c盘;
3、接着 输入命令 cd Users\Administrator 其中Administrator是自己的用户名 Administrator文件下有个.adnroid文
件, 输入命令 cd .android,最后就找到了.android;
4、输入命令 keytool -list -v -keystoredebug.keystore 其中debug.keystore是studio默认的keystore,按回车,然后
输入秘钥:android(系统默认) 回车(秘钥库口令是看不到的),得到开发版SHA1。
② 获取发布版SHA1
获取发布版的SHA1,跟获取开发版的SHA1的1、2、3步骤一样,不一样的地方就是第4步稍微不同而已。
1、同上;
2、同上;
3、同上;
4、输入命令 keytool -list -v -keystore 文件目录\自己的签名文件 比如我的:keytool -list -v -keystore E:\签名文件\android.keystore , 接着按回车,然后输入秘钥:(自己的) 回车(秘钥库口令是看不到的),得到发布版SHA1: