通過配置gradle實現測試環境和生產環境包名及apk分開

測試環境和生產環境分離相信很多公司這麼做,但是每次都要改一些配置會浪費很多時間,以前用eclipse開發,沒有好的辦法,自從項目移植到Androidstudio上以後,一直在尋求好的解決方法,另外還有就是我想一個手機上可以裝上測試包,也可以裝上生產包,通過不斷的摸索,終於成功實現了這個想法,萬能的gralde:

1. 首先我們先配置一下自動化打包

(a) 點擊會彈出project structure對話框

選擇signing 簽名設置頁面

(b)點擊左下的"+"號 添加一個簽名信息(添加兩個)。

例如:name :debug / release 作為測試和生產版本的簽名信息

(c)添加完成以後點擊右下的"OK"這個在gralde文件中會生成相應的 配置文件

Advertisements

2.配置生產和測試環境的區分

(a)在gralde文件中找到buildtype節點

這是需要我們在和release(生產)同級的位置處加上debug(測試)節點

(b) 把生產和測試的url分別寫到debug 和release節點內

(c) 再次點擊選擇彈出框的buildtype

將彈框中的dubug和release分別配置singingconfig

這是gralde文件的buildtype節點內容如下(注意寫url的時候的樣式不要寫錯):"

"\"http://baidu.com/asdh\""

(d)這時build一下文件,當build完成以後會自動生成一個BuildConfig文件,當你用到不同環境的url的時候,可以在代碼中直接用你配置的key值,如:這樣引用就可以跟你你打的包動態的改變url地址

Advertisements

以上就可以實現生產和測試的分離,想實現一鍵打包請看4

3.同一個手機可以裝測試和生產版,大家都知道android的項目是通過applicationId控制的,applicationId相同,Android手機就會覆蓋原來的項目,所以我們需要動態的改變項目的applicationId,

(a)在build文件的android節點內添加

另外還可以配置icon,theme等

(b)在第2步中配置的dubug中加入

applicationIdSuffix '.debug'

對applicationid進行拼接

(c)進入manifast文件,添加

同時修改application標籤下的li bel屬性

4.配置完成,下面開始一鍵打包吧

等運動完成進入項目目錄——>build——>output——>apk

你就可以看到對應的apk了

Advertisements

你可能會喜歡