When using an Android Library Project how do you reference xml resources properly?
I have an Android Library Project that contains several styles/themes defined in its styles.xml file.
Normally, when referencing this style in some other xml layout or manifest file, you would just write android:theme="@style/TheNameOfTheStyle"
When using a library project, how does the dependent project properly reference that style now? Just leaving it as android:theme="@style/TheNameOfTheStyle"
gives me an error saying there is no resource found matching that name.
I guess this same question applies for other references like @string, @color etc.
Thanks
Edit: Ok so it appears that you are suppose to reference it just like normal, but the console in eclipse is giving me thi开发者_JAVA百科s error:
Error: No resource found that matches the given name (at 'theme' with value '@style/ThemeName').
(facepalm) Edit
I just needed to "Clean Project" in Eclipse. Now it's working.
Its important to build the project after adding resources (or just have autobuild on) and cleaning the project helps most of the times. Restarting Eclipse when "something" go wrong is a good idea, too.
Also note that Android merges the recources, so the last project that is build "wins" the name. For this reason it's a good idea to prefix ALL resources somehow.
I use IntelliJ and what worked for me is to reference the resource normally and to make sure the library is added as a dependency of the project
I just ran into the same issue however cleaning in Eclipse did not work until I set both the library project and the regular project to have a matching : Target Build Property.
I just had this issue in Android Studio. It seems Android Studio didn't realise my library project was a library despite the project.properties stating android.library=true.
I fixed this issue by checking the "Is Library" checkbox in Project Structure.
精彩评论