Android 工程混淆后无法找到自定义控件类的解决方案
来源:互联网 发布:loop细分曲面算法 编辑:程序博客网 时间:2024/05/21 22:48
今天混淆打包运行apk 突然冒出一个问题 :
03-19 14:54:02.655: ERROR/AndroidRuntime(17051): Caused by: java.lang.ClassNotFoundException: com.test.UIView.NetImageView in loader dalvik.system.PathClassLoader[/data/app/.........................]
其后在网上找了一篇文章 ,原来是自定义控件,xml混淆出问题了,之后问题解决 ,感谢分享的同学
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: com.neusof
t.neuapp.ui.AppPicsGallery in loader dalvik.system.PathClassLoader[/data/app/com
.neusoft.neuapp.ui-1.apk]
E/AndroidRuntime(13480): at dalvik.system.PathClassLoader.findClass(PathC
lassLoader.java:240)
E/AndroidRuntime(13480): at java.lang.ClassLoader.loadClass(ClassLoader.j
ava:551)
E/AndroidRuntime(13480): at java.lang.ClassLoader.loadClass(ClassLoader.j
ava:511)
E/AndroidRuntime(13480): at android.view.LayoutInflater.createView(Layout
Inflater.java:471)
E/AndroidRuntime(13480): at android.view.LayoutInflater.createViewFromTag
(LayoutInflater.java:570)
E/AndroidRuntime(13480): ... 24 more
在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 打包 工程混淆后 报错 无法找到自定义控件类的 解决方案
- ADT升级后工程无法编译,无法找到依赖包的解决方案
- android工程混淆代码打包的APK安装后无法启动
- Android studio 导入library工程,无法找到类的问题
- Android 自定义控件 自定义属性 无法找到报异常
- 探索关于,Android工程 混淆 proguard. 自定义混淆接口的实现类的内部类混淆处理
- Android Studio使用AIDL时无法找到自定义的类
- Android Library Project自定义控件属性无法找到说明
- 通过findViewById无法找到自定义控件的解决办法
- 解决Android工程提示缺少gen/R.java或者无法找到已有控件id的方法
- Android混淆打包后openFileChooser无法使用找不到的解决方法
- android工程引入第三方jar包,如果发现混淆后无法签名成功,该怎么办
- WPF 自定义控件无法找到DataContext
- android代码混淆后无法运行
- 关于Google Maps Android API v2 引用后无法找到类的解决办法
- 解决java工程打包后无法找到资源文件路径的方法
- Android结合robotium实现自定义waitForText(String text),解决控件无法找到问题
- 程序员编程艺术:三之三续、求数组中给定下标区间内的第K小(大)元素
- UVA 10054 The Necklace
- Can't connect to local MySQL server through socket 问题解决
- 使用Aspose.Pdf删除PDF文件中的指定注释
- 使用SqlBulkCopy提高导入数据的性能
- Android 工程混淆后无法找到自定义控件类的解决方案
- 通过MyEclipse生成Hibernate类文件和hbm.xml文件,或者annotation文件
- wordpress标签大全
- 建设全功能团队——实践篇
- hive数据类型(翻译自Hive Wiki)
- 一个整数数列,元素取值可能是0~65535中的任意一个数,相同数值不会重复出现。
- lvs-rrd 监控LVS
- 在/sys目录下建立一个文件,并且实现信息的读取和存储
- 天涯易栈编程助手1.02版