我正在尝试为另一个项目的libs添加一个JAR,然后使用该项目中JAR的资源但我得到了
java.lang.NoClassDefFoundError: com.xxxxx.dylib.R$drawable.
JAR的内容是:
com.xxxxx.dylib
res
res.layout
res.menu
res.values
当库项目作为依赖项添加时,它可以工作,但是当使用JAR时,没有生成R.java。我相信这是问题所在。是否可以在项目中使用jar中的资源?
答案 0 :(得分:1)
JAR文件只包含您拥有的Java代码,而不包含资源。
如果要使用项目中的资源,则必须获取整个库项目,将其标记为库,然后将其作为整体添加到主项目中。
答案 1 :(得分:1)
资源无法打包到jar中。不引用资源的纯java类可以打包到jar中。
你需要将你需要引用的项目作为一个库项目,然后在你的android项目中引用它。
http://developer.android.com/tools/projects/index.html
如果要使用命令行
http://developer.android.com/tools/projects/projects-cmdline.html
如果你使用eclipse,请点击以下链接。
http://developer.android.com/tools/projects/projects-eclipse.html
您可以右键单击要引用的项目,转到属性。选择Android并选中Is Library。
现在在你的android项目中引用库项目。
右键单击你的android项目,转到属性,选择android,点击添加浏览库项目,同样。