使用 Maven 时更改 Eclipse 中 Android R.java 的输出文件夹



我有一个使用 maven-android 插件的 android 项目设置。 该插件遵循 maven 输出文件夹作为R.java文件的位置(即 target/generated-sources/r )。

但是,在 Eclipse 中使用此项目时,我无法将 aapt 配置为依赖该文件夹。

即使我手动进入项目属性并手动设置文件夹,ADT 插件也会进入并仅重置一些设置(即将/gen文件夹添加回源文件夹,并将输出文件夹恢复为 /bin/classes 而不是/target/classes),同时保留 maven /target/generated-sources/r 文件夹并破坏项目的构建。

我想在Eclipse ADT中使用默认的Maven文件夹结构。 关于我该如何做到这一点的任何想法?

谢谢


回应评论:

  • 是的,我使用的是 m2e-android 插件。
  • 因为ADT在/gen中仍然生成R.java,如果target/generated-sources/r下仍然存在R.java,Eclipse将无法编译,因为重复的类定义。

不幸的是,适用于 M2E 的 Android 连接器不支持将生成的文件夹(如 ADT gen 文件夹)移动到其他目录。这是 ADT 的一个限制,尽管有一张票证可以探索绕过此限制的方法:

https://github.com/rgladwell/m2e-android/issues/68

如果您想保持更新,请对此票发表评论。

这似乎对我有用:

让 ADT 将 gen 保留为源文件夹,但将该源文件夹的输出文件夹更改为/target/classes

我可以从命令行构建 eclipse 并使用 maven,并且在这两种情况下我都不会遇到重复的 R 类问题。 本质上,Eclipse在/gen中生成R.java文件,而maven在/target/generated-sources/r中生成它,但两个版本都把R.class文件放在/target/classes下。

注意:有一次我使用 build-helper-maven-plugin/gen作为pom.xml中的附加源目录添加,我不得不删除它。

相关内容

  • 没有找到相关文章

最新更新