13

我有一个 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,它不是。

我做了一个清洁。

4

1 回答 1

4

Your library project also has same name layout main.xml as your main project.

Android will give priority to host project if both have the same Layout name, in this case "main.xml" Best approach is to use some prefix notation so there are no accidental collisions.

于 2014-10-26T10:01:31.970 回答