【问题标题】:Android - libraries R files not generated when more libraries depends on support-v4Android - 当更多库依赖于 support-v4 时,不会生成库 R 文件
【发布时间】:2013-01-22 08:33:58
【问题描述】:

我的 Android 项目依赖 3 个库,其中一个 (A) 没有要求,其中两个 (B, C)由于 Fragments 需要 support-v4 库。项目本身也需要 support-v4 库。该项目和库具有构建目标 Android 2.2 (API 8)。所有 android-support-v4.jar 库都是相同的构建和版本。

当我添加库 A 时,它的 R.java 会在项目的 gen 文件夹中生成。但是当我添加库BC时,他们的R.java并没有生成,甚至A的R.java 已从项目的 gen 文件夹中删除。

有没有办法包含本身需要 support-v4 库的库?除了将他们的代码复制到项目中并且不将它们作为库包含。

更新:

我发现了问题。问题是我的库 B 和 C 在 Manifest 中使用了相同的包名。当我更改一个库的包名时,所有 R.java 都出现了。

我的库包是 eu.anycode.android.app 作为扩展 com.android.app 类。但我不想将它们放在一个库中,因为我不需要将它们放在一起,因为有些项目我只需要其中一个,并且我不想将未使用的代码包含到最终 APK 中。

所以我的另一个问题是是否可以设置它以便我可以为不同的库使用相同的包名称?

-- 马丁

【问题讨论】:

  • 您使用的是 Eclipse,对吗?将库和 support-v4 添加到库后,开始构建和重建所有内容。通常应该修复它。
  • 感谢您的回答,我尝试重建了几次。最后我发现了问题,请参阅我编辑的问题。 ——马丁
  • @MartinEdlman - 将您对原始问题的解决方案发布为答案并将其标记为答案。对于您的其他问题,您应该在网站上提出一个新问题。请记住,这也适用于未来的访问者,因此您不能在一个地方过多地提出多个问题。

标签: android android-support-library


【解决方案1】:

所以我的另一个问题是是否可以设置它以便我可以为不同的库使用相同的包名称?

不,这是不可能的。包名称是唯一的。

【讨论】:

  • 谢谢,我通过在 Manifest 中设置不同的包名但在源中保持相同的包名解决了这个问题。它就是这样工作的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-25
  • 1970-01-01
  • 2014-08-27
  • 2020-04-16
  • 2021-11-21
相关资源
最近更新 更多