Proguard打包混淆报错:can't find superclass or interface
来源:互联网 发布:javascript 数组clear 编辑:程序博客网 时间:2024/06/01 18:28
在Eclipse打包工程时报如下错误:
[2014-01-06 08:58:44 - emp_android] Proguard returned with error code 1. See console
[2014-01-06 08:58:44 - emp_android] Warning: com.baidu.location.b$a: can't find superclass or interface android.location.GpsStatus$NmeaListener
[2014-01-06 08:58:44 - emp_android] Warning: com.autonavi.aps.api.APS: can't find referenced class android.telephony.cdma.CdmaCellLocation
[2014-01-06 08:58:44 - emp_android] Warning: com.autonavi.aps.api.APS: can't find referenced method 'int getLac()' in class android.telephony.NeighboringCellInfo
[2014-01-06 08:58:44 - emp_android] Warning: com.autonavi.aps.api.APS: can't find referenced class android.telephony.cdma.CdmaCellLocation
[2014-01-06 08:58:44 - emp_android] Warning: com.autonavi.aps.api.APS: can't find referenced class android.telephony.cdma.CdmaCellLocation
[2014-01-06 08:58:44 - emp_android] Warning: com.autonavi.aps.api.APS: can't find referenced class android.telephony.cdma.CdmaCellLocation
[2014-01-06 08:58:44 - emp_android] Warning: com.autonavi.aps.api.APS: can't find referenced class android.telephony.cdma.CdmaCellLocation
[2014-01-06 08:58:44 - emp_android] Warning: com.autonavi.aps.api.APS: can't find referenced class android.telephony.cdma.CdmaCellLocation
[2014-01-06 08:58:44 - emp_android] Warning: com.autonavi.aps.api.e: can't find referenced class android.telephony.SignalStrength
[2014-01-06 08:58:44 - emp_android] Warning: com.autonavi.aps.api.e: can't find referenced method 'void onSignalStrengthsChanged(android.telephony.SignalStrength)' in class android.telephony.PhoneStateListener
[2014-01-06 08:58:44 - emp_android] Warning: com.autonavi.aps.api.e: can't find referenced class android.telephony.SignalStrength
[2014-01-06 08:58:44 - emp_android] Warning: com.autonavi.aps.api.e: can't find referenced class android.telephony.SignalStrength
[2014-01-06 08:58:44 - emp_android] Warning: com.autonavi.aps.api.i: can't find referenced class android.telephony.SignalStrength
[2014-01-06 08:58:44 - emp_android] Warning: com.autonavi.aps.api.i: can't find referenced method 'void onSignalStrengthsChanged(android.telephony.SignalStrength)' in class android.telephony.PhoneStateListener
[2014-01-06 08:58:44 - emp_android] Warning: com.autonavi.aps.api.i: can't find referenced class android.telephony.SignalStrength
[2014-01-06 08:58:44 - emp_android] Warning: com.autonavi.aps.api.i: can't find referenced class android.telephony.SignalStrength
[2014-01-06 08:58:44 - emp_android] Warning: com.baidu.location.b: can't find referenced method 'boolean addNmeaListener(android.location.GpsStatus$NmeaListener)' in class android.location.LocationManager
[2014-01-06 08:58:44 - emp_android] Warning: com.baidu.location.b: can't find referenced method 'void removeNmeaListener(android.location.GpsStatus$NmeaListener)' in class android.location.LocationManager
[2014-01-06 08:58:44 - emp_android] Warning: com.baidu.location.b: can't find referenced class android.location.GpsStatus$NmeaListener
[2014-01-06 08:58:44 - emp_android] Warning: com.baidu.location.b$a: can't find referenced class android.location.GpsStatus$NmeaListener
[2014-01-06 08:58:44 - emp_android] Warning: com.baidu.location.c: can't find referenced class android.telephony.cdma.CdmaCellLocation
[2014-01-06 08:58:44 - emp_android] Warning: com.baidu.location.c$a: can't find referenced method 'int getLac()' in class android.telephony.NeighboringCellInfo
[2014-01-06 08:58:44 - emp_android] Warning: com.baidu.location.c$b: can't find referenced class android.telephony.SignalStrength
[2014-01-06 08:58:44 - emp_android] Warning: com.baidu.location.c$b: can't find referenced class android.telephony.SignalStrength
[2014-01-06 08:58:44 - emp_android] Warning: com.baidu.location.c$b: can't find referenced class android.telephony.SignalStrength
[2014-01-06 08:58:44 - emp_android] Warning: com.baidu.location.c$b: can't find referenced class android.telephony.SignalStrength
[2014-01-06 08:58:44 - emp_android] Warning: com.lakala.b.b$2: can't find referenced method 'boolean isWiredHeadsetOn()' in class android.media.AudioManager
[2014-01-06 08:58:44 - emp_android] Warning: com.lingtu.mapapi.MapView: can't find referenced method 'int getPointerCount()' in class android.view.MotionEvent
[2014-01-06 08:58:44 - emp_android] You should check if you need to specify additional program jars.
[2014-01-06 08:58:44 - emp_android] Warning: there were 20 unresolved references to classes or interfaces.
[2014-01-06 08:58:44 - emp_android] You may need to specify additional library jars (using '-libraryjars').
[2014-01-06 08:58:44 - emp_android] Warning: there were 8 unresolved references to program class members.
[2014-01-06 08:58:44 - emp_android] Your input classes appear to be inconsistent.
[2014-01-06 08:58:44 - emp_android] You may need to recompile them and try again.
[2014-01-06 08:58:44 - emp_android] Alternatively, you may have to specify the option
[2014-01-06 08:58:44 - emp_android] '-dontskipnonpubliclibraryclassmembers'.
[2014-01-06 08:58:44 - emp_android] java.io.IOException: Please correct the above warnings first.
[2014-01-06 08:58:44 - emp_android]at proguard.Initializer.execute(Initializer.java:321)
[2014-01-06 08:58:44 - emp_android]at proguard.ProGuard.initialize(ProGuard.java:211)
[2014-01-06 08:58:44 - emp_android]at proguard.ProGuard.execute(ProGuard.java:86)
[2014-01-06 08:58:44 - emp_android]at proguard.ProGuard.main(ProGuard.java:492)
大体意思是找不到相关的类或者方法,因为工程引入了第三方包,混淆的时候如果把第三方包也混淆了,那么相关的类在使用这些包的时候就会找不到相关方法。
因此在proguard.cfg加上以下代码:
- -dontwarn com.baidu.**
- -keep class com.baidu.** { *;}
- -dontwarn com.lakala.**
- -keep class com.lakala.** { *;}
- -dontwarn com.lingtu.**
- -keep class com.lingtu.** { *;}
- -dontwarn com.autonavi.**
- -keep class com.autonavi.** { *;}
其实找不到引用的这个类是第三方包里面的,而且很多时候我们只需要打乱自己的代码就行了,第三方包的代码就是否要打乱就不要管了。我们可以使用
-dontwarn com.xx.bbb.**-keep class com.xx.bbb.** { *;}
参数来保持第三方库中的类而不乱,-dontwarn和-keep 结合使用,意思是保持com.xx.bbb.**这个包里面的所有类和所有方法而不混淆,接着还叫ProGuard不要警告找不到com.xx.bbb.**这个包里面的类的相关引用。
配置好后,重新打包,一切OK!而且程序能正确运行
(本文参考http://blog.csdn.net/u_xtian/article/details/7495023)
原文地址:http://blog.csdn.net/lvxiangan/article/details/17911623
- Proguard打包混淆报错:can't find superclass or interface
- Proguard打包混淆报错:can't find superclass or interface
- Proguard打包混淆报错:can't find superclass or interface
- Proguard打包混淆报错:can't find superclass or interface
- Proguard打包混淆报错:can't find superclass or interface
- 安卓打包混淆报错:can't find superclass or interface各种警告找不到
- Android 混淆问题记录can't find superclass or interface
- Android 混淆问题记录can't find superclass or interface
- 第三发jar包或者aar包混淆:can't find superclass or interface
- com.alipay.apmobilesecuritysdk.face.APSecuritySdk$RunningTask$1: can't find superclass or interface
- Proguard打包混淆(使用第三方包时)报错
- 混淆编译ProGuard打包时候报错的问题
- Java混淆工具ProGuard的最简明使用方法及Warning: can’t find referenced class xxx的解决方法
- 解决微信分享SDK,混淆报错Can't process class [com/tencent/wxop/stat/al.class] 以及 proguard.jar版本不匹配的问题 proguar
- android混淆打包报错的一种可能java.io.IOException: Can't read [D:\workspace\android0428\libs\pwd_sdk_proguard.ja
- Eclipse打包Android项目时用到proguard.cfg后,出现的Warning:can't find referenced class问题的解决方案
- Eclipse打包Android项目时用到proguard.cfg后,出现的Warning:can't find referenced class问题的解决方案
- Eclipse打包Android项目时用到proguard.cfg后,出现的Warning:can't find referenced class问题的解决方案
- [C++杂记] map/set iterator not dereferencable异常
- Subsets -- leetcode
- template放置位置错误导致backbone报错
- win10不能连接vpn解决方法
- 仿ios滚动 有弹性的ScrollView
- Proguard打包混淆报错:can't find superclass or interface
- Android开源项目——自定义圆形图片组件CircularImageView
- Linked List Cycle【leetcode】
- 数据结构与算法分析 C语言描述 单链表的实现
- Java自带的性能监测工具用法简介——jstack、jconsole、jinfo、jmap、jdb、jsta、jvisualvm
- sqlite数据查询速度慢的可能原因
- C/C++--strcpy函数实现
- 网络状态检测方法测试结果
- Java 局部内部类