【问题标题】:Reference Android Library project from another android library project从另一个 android 库项目中引用 Android 库项目
【发布时间】:2012-09-14 09:15:14
【问题描述】:

我在 Eclipse 中有一个 android 库项目(比如 A),它试图引用另一个库项目(比如 B)。这两个项目都有 res 文件夹,我看到的是 A 无法引用 B 的 res 文件夹中的任何内容,基本上 R.java 无法解析(没有字符串,没有布局等)。

我错过了什么重要的东西吗?这甚至可能吗?

谢谢!

【问题讨论】:

    标签: android android-layout android-library


    【解决方案1】:

    您可以将其中一个库项目导出为 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文件夹。

    希望这对你有用。 干杯

    【讨论】:

    • 嘿,所以我在这里有点困惑。我已经能够参考 java 代码,所以这不是真正的问题。这里的问题特别是 .R 类。问题中标记为 A 的库项目无法解析该类,我不确定是否有办法做到这一点?
    • 嘿,我已经写了一些东西可以让你去你想去的地方,但是在这个评论中没有足够的空间,所以我刚刚编辑了我上面的答案。请检查这是否适合您。
    • 您不能将库项目导出到 JAR 文件 库不能作为二进制文件(例如 JAR 文件)分发。这将在 SDK 工具的未来版本中添加。
    【解决方案2】:

    您应该在 R 类之前使用完整的命名空间。例如,如果项目 B 上的名称空间是 com.projectB.*,那么您可以通过将 R 引用为

    来引用项目 A 中的 R
    com.projectB.R.xxxx
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-07
      • 1970-01-01
      • 2011-09-03
      • 1970-01-01
      • 2012-05-21
      • 2012-02-28
      • 1970-01-01
      相关资源
      最近更新 更多