我有两个自定义组件,其中一个是我最近制作的,都是在Android Studio中。较早的版本起作用了。我遵循了相同的过程来创建新的程序,但是当我在测试过程中到达活动屏幕时,它会抛出运行时错误。
以下是按顺序列出的异常消息:
1. java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sentient/com.mycompany.MyActivity}: android.view.InflateException: Binary XML file line #6: Error inflating class <unknown>
2. Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class <unknown>
3. java.lang.reflect.InvocationTargetException
4. java.lang.NoClassDefFoundError: com.mycomponent.R$colorerror #4显示了抛出错误的实际代码行,它是组件构造函数的一部分:
int color = res.getColor(R.color.progress_gray);我手动检查了R文件,发现存在颜色(在colors.xml中定义了progress_gray)。我删除了这一行,另一行抛出了错误(同样依赖于R文件来获取信息)。
我尝试过清理,更改gradle中的构建顺序,单独制作组件,但我仍然找不到错误所在。如有任何帮助,我们不胜感激!谢谢。
发布于 2015-03-10 20:36:50
你能发布自定义视图的xml文件吗?
检查是否已添加到自定义视图的主布局xmlns:android="http://schemas.android.com/apk/res/android“xmlns:custom="http://schemas.android.com/apk/res-auto”
发布于 2015-03-12 16:35:05
我找到解决方案了。build.gradle中的applicationId和清单中的包不匹配。一旦我改变了它,它就起作用了。
奇怪的是,我曾认为这两者分开的原因是为了让他们可以有不同的名字。在任何情况下,这都是它工作的原因。
https://stackoverflow.com/questions/28963794
复制相似问题