Android筆記(2)使用gradle分測試版與正式版


gradle版本 2.4
gradle android tool版本1.3.1

目標
  1. 讓測試版與正式版能夠同時安裝在同一隻手機上
  2. 不需要針對測試與正式的外部依賴不同而要反覆修改(ex:google map key)

如何解決第一點
在以前的版本Android將Manifest中的package拿來當做唯一識別id,所以不論是上傳google play或是安裝在手機上,都是認這個id,有了gradle之後,就將package的概念分開,變成applicationId,所以只要在gradle中將debug版本的applicationId改成不同的就可以了,而gradle應該也早就知道很多人都有類似需求,所以提供了applicationIdSuffix的功能










如上圖所表示,如果原本的applicationId為com.bluemoon.main,那debug版本就會變成com.bluemoon.main.debug,這樣子當安裝在手機上時,就會被認定為另外一個App了!

解決第二點的方式請參考下圖

















將不同版本的資源分開來,這樣在建置版本食就會依照不同的版本抓去不同的資源了!
如果想要讓測試版本與正式版本名稱不同,也可參考上面做法,在debug資源中加入strings.xml,將app_name改成自己想要的名稱。

透過Android Studio的Project Structure可以看得更清楚





















參考資料
https://github.com/mcxiaoke/gradle-packer-plugin
http://stormzhang.com/devtools/2015/01/15/android-studio-tutorial6/
http://avatarqing.github.io/Gradle-Plugin-User-Guide-Chinese-Verision/basic_project/manifest_entries_manifest.html
http://wiki.jikexueyuan.com/project/android-gradle-guide/build-variants.html

留言