2009-12-24 27 views
1

asked this question on the android-developers group但沒有得到任何答覆,所以我想我會在這裏嘗試。有什麼辦法讓ADT項目目錄佈局更加靈活?

的ADT Eclipse插件似乎有一個Android項目應如何構建一個非常剛性的想法 - 每個http://developer.android.com/guide/developing/eclipse-adt.html,它需要有AndroidManifest.xml文件在項目的根目錄下,加上resassetsgensrc頂層文件夾等。

我想知道是否可以讓插件更靈活一些,它可以識別它的佈局。

src/ 
    main/ 
    AndroidManifest.xml 
    assets/ 
    res/ 
    scala/ 
    java/ 
    test/ 
    resources 
     <files to include in test jar here> 
    scala/ 
     <test Scala sources> 
    java/ 
     <test Java sources> 

(見simple-build-tool docs):特別是,我已經使用生成插件的(基於Scala的)simple-build-tool,其預計項目以更Maven的類似的方式來佈置,像這樣被。

這是我習慣於從基於maven的java開發的佈局。然而,當我在ADT中加載一個類似的項目時,我收到很多關於缺少AndroidManifest.xml,缺少res目錄等的投訴。這些東西都存在,它們只是不在ADT期望它們的地方。

我不一定需要使用ADT來構建我的項目,但我想使用它(和Eclipse)進行編輯。任何人都可以告訴我,是否可以在用於查找各種Android相關資源的目錄中使其更加靈活?

另外,任何人都可以告訴我,ADT插件是否是開源的?我似乎無法在任何地方找到其源代碼的鏈接。

(作爲一個說明,我也一直在努力纏鬥sbt只是做事情的方式,ADT喜歡,而且它可能可以做,但它似乎很乏味。)

回答

1

我不相信你可以改變Android項目結構,讓ADT瞭解它。即使使用基於Ant的命令行構建,這樣做也會非常乏味 - 您必須製作各種Android Ant任務的副本,對其進行修改以適應(並希望底層構建工具允許你想要什麼),然後在Android SDK更新的情況下永遠保持它們。

如果您認爲main/是Android項目,那麼您的結構實際上與Android的期望值相當接近。如果你能說服sbt允許src/而不是java/那裏,如果sbt不會抱怨產生的bin/和你會風與在main/編譯後,你可能會得到它的工作。

1

據我所知,ADT需要這些文件夾名稱,但有一個解決方法:您可以在Eclipse中創建「鏈接文件夾」。這些與Unix中的符號鏈接相似,但是存儲在Eclipse .project文件中,而不是文件系統中,所以它們僅對Eclipse可見。

您可以在Eclipse中右鍵單擊項目的根目錄,然後選擇「創建新文件夾」來創建一個。點擊「高級」,然後選擇創建鏈接文件夾的選項。然後輸入你想要鏈接的地方。您可以在開始時使用PROJECT_LOC指定項目目錄,因此對於您的示例,您可以鍵入PROJECT_LOC/src/main/res作爲要鏈接到的文件夾,並使用自動生成的名稱「res」作爲創建的文件夾。