Android利用gradle同時編譯多包(測試環境地址、生產環境地址)

前言

小公司,項目有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

jenkins配置

設置完,每次提交的代碼也會生成2個版本,除了服務器地址,就是咱們的那個xml文件,其餘代碼所有同樣。ui

總結

花幾分鐘便可每次發包,同時發2個版本,即便沒有jenkins,手動build也能夠生成2個,這樣測試人員不用每次找咱們要測試包、真實包了。spa

相關文章
相關標籤/搜索