When using an Android Library Project how do you r

2019-02-04 00:35发布

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 this 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.

4条回答
Lonely孤独者°
2楼-- · 2019-02-04 00:37

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

查看更多
一纸荒年 Trace。
3楼-- · 2019-02-04 00:40

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.

enter image description here

查看更多
仙女界的扛把子
4楼-- · 2019-02-04 00:50

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.

查看更多
欢心
5楼-- · 2019-02-04 00:59

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.

查看更多
登录 后发表回答