AbstractMethodError: abstract method "void android.telephony.TelephonyManager$CellInfoCallback.onCel

应用集成高德SDK,开启混淆后,APP在Android 10及以上机型上的部分页面会闪退。

2020-01-07 17:09:44.332 12910-14330/? E/AndroidRuntime: FATAL EXCEPTION: pama#1
    Process: com.xxx.xxxxxx, PID: 12910
    java.lang.AbstractMethodError: abstract method "void android.telephony.TelephonyManager$CellInfoCallback.onCellInfo(java.util.List)"
        at android.telephony.TelephonyManager$CellInfoCallback.onError(TelephonyManager.java:5391)
        at android.telephony.TelephonyManager$1.lambda$onError$2(TelephonyManager.java:5425)
        at android.telephony.-$$Lambda$TelephonyManager$1$DUDjwoHWG36BPTvbfvZqnIO3Y88.run(Unknown Source:6)
        at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:929)
2020-01-07 17:09:44.561 2143-7549/? E/NcDft_GnssDftManager: network type error : passive
2020-01-07 17:09:44.569 12910-14332/? E/AndroidRuntime: FATAL EXCEPTION: pama#2
    Process: com.xxx.xxxxxx, PID: 12910
    java.lang.AbstractMethodError: abstract method "void android.telephony.TelephonyManager$CellInfoCallback.onCellInfo(java.util.List)"
        at android.telephony.TelephonyManager$CellInfoCallback.onError(TelephonyManager.java:5391)
        at android.telephony.TelephonyManager$1.lambda$onError$2(TelephonyManager.java:5425)
        at android.telephony.-$$Lambda$TelephonyManager$1$DUDjwoHWG36BPTvbfvZqnIO3Y88.run(Unknown Source:6)
        at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:929)
 

原因:

     高德地图定位库的使用引起的,需要添加混淆代码。

AbstractMethodError: abstract method

以上是新版本必须要加的,下边给出最全配置:

-keep class com.amap.api.**{*;}//最重要的要加上这个处理,否则还会出现以上崩溃问题,官方没有该处理
#3D 地图 V5.0.0之后
-keep class com.amap.api.maps.**{*;}
-keep class com.autonavi.**{*;}
-keep class com.amap.api.trace.**{*;}
#定位
-keep class com.amap.api.location.**{*;}
-keep class com.amap.api.fence.**{*;}
-keep class com.loc.**{*;}
-keep class com.autonavi.aps.amapapi.model.**{*;}

#搜索
-keep class com.amap.api.services.**{*;}
#2D地图
-keep class com.amap.api.maps2d.**{*;}
-keep class com.amap.api.mapcore2d.**{*;}
#导航
-keep class com.amap.api.navi.**{*;}
-keep class com.autonavi.**{*;}

你可能感兴趣的:(Android,高德,混淆,android)