Android 工程混淆后无法找到自定义控件类的解决方案
2013-05-17 23:49
281 查看
在混淆里keep忽略掉这些类的父类!比如:
Android 工程混淆后报出如下错误:
10-19 13:26:19.750: E/AndroidRuntime(13654): Caused by: android.view.InflateException: Binary XML file line #193: Error inflating
… …
E/AndroidRuntime(13480): Caused by: java.lang.ClassNotFoundException:
xml文件中自定义了下面一个插件:
对应的View实现定义如下:
解决方案:
android在用proguard混淆时,一般情况下使用系统自带的配置文件就可以保持大部分外部需要引用的类,比如Activity,view扩展等等,但是在本项目的proguard文件中没有保存AppPicsGallery所引用的Gallery类,所以要在proguard.cfg文件中加入
-keep public class * extends android.widget.Gallery{
public *;
}
另外,有些情况下一些引入的外部lib,如果被混淆也会出现各种各样的问题,如果不想混淆这些包,就要加上
-keep class packagename.** {*;}
这样就能完整保持原有class了。
Android 工程混淆后报出如下错误:
10-19 13:26:19.750: E/AndroidRuntime(13654): Caused by: android.view.InflateException: Binary XML file line #193: Error inflating
… …
E/AndroidRuntime(13480): Caused by: java.lang.ClassNotFoundException:
xml文件中自定义了下面一个插件:
对应的View实现定义如下:
解决方案:
android在用proguard混淆时,一般情况下使用系统自带的配置文件就可以保持大部分外部需要引用的类,比如Activity,view扩展等等,但是在本项目的proguard文件中没有保存AppPicsGallery所引用的Gallery类,所以要在proguard.cfg文件中加入
-keep public class * extends android.widget.Gallery{
public *;
}
另外,有些情况下一些引入的外部lib,如果被混淆也会出现各种各样的问题,如果不想混淆这些包,就要加上
-keep class packagename.** {*;}
这样就能完整保持原有class了。
相关文章推荐
- Android 打包 工程混淆后 报错 无法找到自定义控件类的 解决方案
- Android 工程混淆后无法找到自定义控件类的解决方案
- Android Eclipse 里面依赖自己的工程无法关联源码解决方案
- Android Eclipse 里面依赖工程无法关联源码解决方案
- Android Eclipse 里面依赖工程无法关联源码解决方案
- Android Eclipse 里面依赖工程无法关联源码解决方案
- android开发中,eclipse无法找到设备(真机)的解决方案
- android工程引入第三方jar包,发现混淆后无法签名,并出现can't find referenced class
- android工程混淆代码打包的APK安装后无法启动
- Android Eclipse 里面依赖工程无法关联源码解决方案
- Android安卓开发-'Theme.AppCompat.Light'无法找到的解决方案
- android sutio新建的文件夹但是工程目录下无法显示【解决方案】
- Android Eclipse 里面依赖工程无法关联源码解决方案
- IpuWadeMobile客户端简单混淆解决方案 及 非普通jar混淆(android工程的jar)
- 解决Android工程提示缺少gen/R.java或者无法找到已有控件id的方法
- ADT升级后工程无法编译,无法找到依赖包的解决方案
- android工程引入第三方jar包,如果发现混淆后无法签名成功,该怎么办
- Android 编程下自定义 ListView 无法响应 OnItemClickListener 中的 onItemClick 方法问题解决方案
- 修改Android手机build.prop后,无法正常启动的解决方案
- Android 工程在4.0基础上混淆