我有两个自定义组件,我最近在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$color
错误#4显示了抛出错误的实际行本身,它是组件构造函数的一部分:
int color = res.getColor(R.color.progress_gray);
我手动检查了R文件,发现存在颜色(progress_gray
中定义的colors.xml
)。我删除了该行,而另一行则抛出了错误(这又取决于R文件以获取信息)。
我尝试过清洁,在gradle中更改构建顺序,单独制作组件,但我仍然无法弄清楚错误在哪里。任何帮助表示赞赏!感谢。
答案 0 :(得分:1)
你可以发布自定义视图的xml文件吗?
检查您是否已添加到自定义视图的主要布局xmlns:android =&#34; http://schemas.android.com/apk/res/android" 的xmlns:定制=&#34; HTTP://schemas.android.com/apk/res-auto"
答案 1 :(得分:0)
我得到了解决方案。 build.gradle中的applicationId和清单中的包不匹配。一旦我改变它,它就有用了。
奇怪的是,我曾经认为两者分开的原因是它们的名称不同。无论如何,这就是它的工作原理。