我有一个Android项目,我正试图进入一个库。我在这段代码上抛出异常:
_buttonStart = (Button) findViewById(R.id.buttonStart);
我得到的例外是:
java.lang.NoSuchFieldError: com.xxx.libraryname.R$id.buttonStart
Android文档似乎明确表示该库应该能够访问这些资源:
“例如,库项目中的源代码可以通过其R类访问自己的资源。”
当我查看图书馆的/gen/com.xxx.libraryname/R.java/R/id/
时,buttonStart就在那里。但是当我查看主要项目/gen/com.xxx.libraryname/R.java/R/id
时,它不是。
我做了一个make clean。
答案 0 :(得分:4)
您的库项目也具有与主项目相同的名称布局main.xml。
如果两者都具有相同的布局名称,Android将优先考虑主机项目,在这种情况下“main.xml”最佳方法是使用一些前缀表示法,这样就不会发生意外碰撞。