2012-04-10 78 views
5

我有一个使用maven-android插件的android项目设置。该插件符合R.java文件位置的maven输出文件夹(即target/generated-sources/r)。使用Maven在Eclipse中更改Android R.java的输出文件夹

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

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

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

感谢


回应的评论:

  • 是的,现在用的是M2E-Android插件。
  • 由于ADT仍在/gen产生R.java,Eclipse是无法编译,如果仍存在target/generated-sources/r下一个R.java由于重复的类定义。
+0

您使用的是m2e-android插件吗? – 2012-04-11 08:36:51

+0

_while离开行家/目标/生成来源/ R文件夹,并打破了project._的构建你能解释一下在Eclipse构建项目时,什么是坏了? – yorkw 2012-04-11 21:51:32

回答

4

不幸的是,Android Connector for M2E不支持将生成的文件夹(如ADT gen文件夹)移动到其他目录。这是ADT的限制,虽然有一票,探索解决此限制的方法:

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

如果你想保持更新,请在这张票发表评论。

+0

AAPT允许指定用于生成的文件夹自定义文件夹(使用-J开关)。我依靠封闭下的aapt构建Android连接器?我会跟着你提到的票。谢谢。 – 2012-04-12 02:00:05

+0

没有Android的连接器只是依赖于它使用了内部sdklib打造东西ADT。 – 2012-04-13 16:29:39

1

这似乎是为我工作:

让ADT保持根作为源文件夹,但更改输出文件夹为源文件夹是/target/classes

我可以在eclipse和使用命令行中使用maven构建,并且在这两种情况下都不会出现重复的R类问题。从本质上讲,Eclipse的生成R.java文件中/gen,而行家在/target/generated-sources/r生成它,但都建立把R.class下的文件/目标/班。

注:在一个点上我已经pom.xml使用build-helper-maven-plugin我在加入/gen作为附加源目录,我不得不删除。

相关问题