Android库中的资源

时间:2014-08-13 10:11:54

标签: android

我在访问Android库中的资源时遇到问题。我用一些资源(com.library)创建了库项目,然后我将模块导入到应用程序项目(com.app)中。所以我有带有库和应用程序的Android Studio项目 当我想访问某些库资源(com.library.R.string.label)时,我在编译时遇到错误

package com.library.R does not exist

当我想从包含/使用R.string.label的应用程序运行一些库方法时,我得到了

java.lang.NoClassDefFoundError: com.library.R$string


我使用

将库添加到应用程序gradle文件中
compile project(':Library')

从IDE的角度看,一切都很好,而R.java是通过引用资源创建的。我想在我的应用程序项目中使用相同的用法,例如android.R.string.cancel或类似的库。
我在哪里做错了?谢谢你的帮助。

PS:将来我希望将我的图书馆项目作为aar包。

2 个答案:

答案 0 :(得分:2)

只要您将一个库添加到项目中,所有资源都将被复制"到你的应用程序的R文件。因此,如果您想要从图书馆访问字符串,则不要执行getString(com.library.R.string.some_string)之类的操作,而只需拨打getString(R.string.some_string)即可。

就图书馆方法而言:你介意与我们分享一些代码吗?目前我无法想象出现了什么问题。

答案 1 :(得分:0)

问题出在gradle配置文件中的错误包名(重命名后)。

相关问题