2012-04-10 108 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作爲附加源目錄,我不得不刪除。

相關問題