【发布时间】:2012-09-14 09:15:14
【问题描述】:
我在 Eclipse 中有一个 android 库项目(比如 A),它试图引用另一个库项目(比如 B)。这两个项目都有 res 文件夹,我看到的是 A 无法引用 B 的 res 文件夹中的任何内容,基本上 R.java 无法解析(没有字符串,没有布局等)。
我错过了什么重要的东西吗?这甚至可能吗?
谢谢!
【问题讨论】:
标签: android android-layout android-library
我在 Eclipse 中有一个 android 库项目(比如 A),它试图引用另一个库项目(比如 B)。这两个项目都有 res 文件夹,我看到的是 A 无法引用 B 的 res 文件夹中的任何内容,基本上 R.java 无法解析(没有字符串,没有布局等)。
我错过了什么重要的东西吗?这甚至可能吗?
谢谢!
【问题讨论】:
标签: android android-layout android-library
您可以将其中一个库项目导出为 jar 文件。
然后创建一个新文件夹名称“libs”(名称很重要),然后将该 jar 文件导入到项目中。只要您在创建 jar 文件时包含了正确的文件,您就应该能够从第二个项目中引用这些文件。
现在,当涉及到处理 res 文件夹中的文件时,这可能会变得更加棘手。如果您尝试在资源位于库项目中的情况下执行任何 UI 工作,那么我不确定这是否可行。
希望这会有所帮助!
干杯!
----------- 更新 ----------- -------
我不确定你哪里出错了。如果您按照我的建议进行操作,请确保在创建 jar 文件时添加“gen”文件夹。然后确保添加正确的导入,瞧,您可以引用该文件。
例如:假设你的库文件有包 com.test.Test1
然后在你的 gen 文件夹中,你应该有包 com.test.Test1 和你的 R.java 文件。
导出这个项目,确保包含那个 gen 文件夹。
然后确保在您的其他项目中包含“import com.test.Test1”
现在在代码中您只需键入 R.Whatever。如果您包含 R.java 的另一个导入,可能会有些混乱。
现在,如果您想访问“res”文件夹,我想您可以将 res 文件夹更改为源文件夹(构建路径->用作源文件夹),然后导出 jar 确保添加 res文件夹。
希望这对你有用。 干杯
【讨论】:
您应该在 R 类之前使用完整的命名空间。例如,如果项目 B 上的名称空间是 com.projectB.*,那么您可以通过将 R 引用为
com.projectB.R.xxxx
【讨论】: