2015-09-04 81 views
-1

我有一個Android應用程序,可以構建多個源文件。使用gradle生成多個源文件的android項目生成android apks

例如

src/x/java 
src/y/java 
src/z/java 

build.gradle文件I有一個productFlavours標籤包含這些源。我知道如何從日食手動(在不同的來源之間切換),但我感興趣的是以下內容:

如何從終端爲這些項目中的每一個生成apk,但仍然有所有這些應用程序具有相同的應用程序包名稱(我現在正在與robotium一起工作,所以我需要使用與通過eclipse手動構建的apk具有相同的包名稱)。

相信我,在我問這裏之前,我讀了很多,但我無法成功,也許我做錯了什麼,或者我完全不在,我不知道,但無論我在哪裏,像

步驟1 ...步驟n等,他們不堅持的重點。

+0

嗨!我曾經在這類問題上工作過很多,能否請您提供一個編碼示例?也許一個小項目存儲在github上,說明你的問題?基本上你想使用終端從一個源切換到另一個源,同時始終保持相同的包名稱。這些android庫嗎? –

+0

就是這麼說。在eclipse中,我有2個源代碼目錄:「main」,另一個連接到我構建應用程序的文件夾,例如:src/main和src/x它們被eclipse視爲源目錄。如果我右鍵點擊project - > properties - > java build patch - > source,我可以刪除「src/x」並放入「src/y」。 我不能把代碼的例子,因爲它不是我的,我是sry,我希望你明白我想說什麼。 – Loki

+0

你能否提供該項目附帶的gradle文件?我很肯定你做了一些風格或構建類型。 –

回答

0

也許你可以使用香料或建立類型:

productFlavors { 
    flavor2 {} 
    flavor1 {} 
} 

sourceSets{ 
    flavor1.java.srcDirs = ['src-flavor1'] 
    flavor1.res.srcDirs = ['res-flavor1'] 
    ... 

    flavor2.java.srcDirs = ['src-flavor2'] 
    flavor2.res.srcDirs = ['res-flavor2'] 
    ... 
} 

下面是關於正確地做到一個好link。我希望這回答了你的問題。

+0

畢竟我設法使它工作。我在你提供的鏈接中使用了風味,並且它很有效。謝謝。 對於和我一樣處境相同的人,不要忘記在sourceSets中添加東西,而不僅僅是口味。 – Loki