自编组件的R文件未编译

时间:2015-03-10 12:29:38

标签: android android-custom-view

我有两个自定义组件,我最近在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中更改构建顺序,单独制作组件,但我仍然无法弄清楚错误在哪里。任何帮助表示赞赏!感谢。

2 个答案:

答案 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和清单中的包不匹配。一旦我改变它,它就有用了。

奇怪的是,我曾经认为两者分开的原因是它们的名称不同。无论如何,这就是它的工作原理。