应用集成高德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)
原因:
高德地图定位库的使用引起的,需要添加混淆代码。
以上是新版本必须要加的,下边给出最全配置:
-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.**{*;}