小公司,項目有2套環境:一個測試環境,一個生產環境。測試會找客戶端要測試環境包或生產環境包,我以爲嫌煩,因而,同時編譯。android
首先,咱們的項目中,生產環境和測試環境僅爲string.xml中的兩個地址不一樣,其餘代碼都是相同的。
這個需求和多渠道包打包很像,幾乎徹底參照。bash
先在build.gradle(Module)中加入 home、real,兩句話服務器
android {
//……省略代碼
productFlavors {
"home"{}
"real" {}
}
}複製代碼
主工程string.xml裏的是真實地址,而且有不少其餘配置。
app
\app\src\home\res\values
目錄,而後建立一個
string.xml
文件。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">A項目測試</string>
<string name="ip1">http://a.com</string>
</resources>複製代碼
這裏只須要寫差別的配置文件,如app名字、服務器地址。測試
調試的時候,在android studio中選擇home、或者real便可正常開發、運行。gradle
設置完,每次提交的代碼也會生成2個版本,除了服務器地址,就是咱們的那個xml文件,其餘代碼所有同樣。ui
花幾分鐘便可每次發包,同時發2個版本,即便沒有jenkins,手動build也能夠生成2個,這樣測試人員不用每次找咱們要測試包、真實包了。spa