通過配置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了