2012-03-14 77 views
6

我已經有了maven化的Android應用程序,客戶希望在構建時爲蒙皮提供支持。使用Maven構建配置文件蒙皮的Android應用程序

例如: MVN全新安裝-P開發, MVN全新安裝-P customer1表, MVN全新安裝-P顧客2

換句話說,不同客戶的需求有點不同的圖像集,不同的字符串(appName,版權等),而且佈局中的一些元素應該隱藏或顯示(開發人員配置文件),所以佈局也不同。

我的第一個想法是讓res-customer1,res-customer2這些文件夾與標準res目錄並行,並在pom.xml中執行配置文件定義中的交換,並將其重命名爲res,但似乎沒有工作。我總是將原始res文件夾放入構建中,在這種情況下,重複出現錯誤。

這是否意味着交換應該在res內發生?我沒有在android maven插件的配置中指定resourceDirectory。

我一直在谷歌搜索了很多,但到目前爲止,我沒有找到任何人有同樣的問題。如何解決它?有沒有什麼一般的模式?

提前

+1

你有沒有真的試圖規範ify resourceDirectory在配置Android Maven的每個配置文件?例如 $ {project.basedir}/res-custom1。這應該如你所料。 – yorkw 2012-03-14 10:25:54

+0

我正在努力,看起來你是對的,我的朋友。我會回來的確定的答案,但很多非常感謝。 – MartinC 2012-03-14 13:05:54

+0

好吧,它的工作原理,你讓我的一天,約克:)非常感謝你。 – MartinC 2012-03-14 14:55:07

回答

1

如果要使用不同的資產或資源的不同打造專業化的配置文件,如果你甚至要合併每個版本的多個這樣的目錄不同的,你可以按照這個偉大的博客帖子:

https://ebuddytechblog.wordpress.com/2013/04/08/branded-android-builds-using-maven/

+0

謝謝,我會看看 – MartinC 2013-11-27 15:06:57

+0

@Blackhex鏈接不再有效:警告!未找到該域的域映射升級。請登錄並轉到博客的「域名升級」頁面以使用此域。 – NightSkyDev 2017-07-09 17:12:32

+0

鏈接已更新,感謝您的通知。 – Blackhex 2017-07-09 21:07:49

6

非常感謝基於從yorkw答案,這個解決方案適用於我:

對於每個配置文件,resourceDirectory需要被添加進到Android Maven插件的配置。

例如:

<resourceDirectory>${project.basedir}/res-customer1</resourceDirectory> <resourceDirectory>${project.basedir}/res-customer2</resourceDirectory>

等等

+0

是否有可能會像Gradle中那樣自動合併多個資源和資產目錄? – Blackhex 2013-11-27 09:00:04

+0

這是!看到我對這個問題的回答。 – Blackhex 2013-11-27 09:48:33

相關問題