美文网首页
Android 10.0 高德地图定位闪退解决办法

Android 10.0 高德地图定位闪退解决办法

作者: 高级复制工程师 | 来源:发表于2019-12-20 11:50 被阅读0次

    今天发现线上版本高德定位的时候 调用 mLocationClient.startLocation(); 就会崩溃 并且会抛出

    java.lang.AbstractMethodError: abstract method "void android.telephony.TelephonyManager$CellInfoCallback.onCellInfo(java.util.List)" at android.telephony.TelephonyManager$1.lambda$onCellInfo$0(TelephonyManager.java:5420)

    用户反馈Android 10.0 以下版本没问题 , 只有 Android 10.0 报错,
    反复测试发现是混淆的问题,
    在混淆文件添加:
    -keep class com.loc.**{*;}
    然后就好使了


    定位问题:
    一开始也不知道是什么问题引起的,后来发现当buildType是debug的时候是正常的,问我的debug没有配置混淆,所以怀疑是混淆造成的问题,然后在定位的方法里面挨个打断点试,最后定位到是:mLocationClient.startLocation();这行会崩溃所以打开这个startLocation的方法看了看:

    startLocation.png import.png

    觉得可能是AMapLocationClient这个类有一些不可告人的秘密,又看了看它import的类,感觉这个com.loc的包有猫腻,所以索性就把这个包给放在混淆文件里面试了一下,然后就好使了.

    相关文章

      网友评论

          本文标题:Android 10.0 高德地图定位闪退解决办法

          本文链接:https://www.haomeiwen.com/subject/onogzftx.html