Android Studio多個編譯環境配置,多渠道打包配置

在項目開發的時候一般需要測試環境的安裝包和正式環境的安裝包。需要配置測試機地址和正式機地址。假如有不同的API,就會有更多的url地址需要配置。挨個手動打包就會非常麻煩,那就需要用到多渠道打包了。

就我自己了解在Android Studio之前可以通過Ant實現多渠道打包,過程要稍微復雜一點,但是可以實現的功能要更多一點。Android Studio的gradle多渠道打包更加便捷。下面就講解Android Studio的多渠道打包

谷歌官方文檔的配置:https://developer.android.com/studio/build/build-variants.html

1.在build.grade中構建不同的版本:

android{
    buildTypes { 
        release { 
            minifyEnabled true 
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

        debug { 
            applicationIdSuffix ".debug" 
        } 

        app1 {  
            applicationIdSuffix ".app1" 
        }
     }
}

applicationIdSuffix:字段表示,在不改變你默認的程序ID(包名)的情況下,為其添加后綴。比如你的包名是com.cn.app
,但你想區分測試包和正式包的情況,這個時候將applicationIdSuffix設置為.debug,那么你的應用程序對應的包名就變成了com.cn.app.debug。

2.設置多渠道打包 productFlavors: 同樣在build.gradle文件中添加

productFlavors {
        app1{            
                //這里可以配置不同的包名            
                applicationId="com.cn"           
                applicationIdSuffix ".app1"
                //這里是在 applicationId 中添加了一個后綴            
                manifestPlaceholders = [app_icon          : "@mipmap/login_logo",                                   
                                                        app_name          : "app1"]       
        }        
        app2{            
                applicationId="com.ca"            
                applicationIdSuffix ".app2"
                //這里是在 applicationId 中添加了一個后綴              
                manifestPlaceholders = [app_icon          : "@mipmap/login_logo",                                    
                                                        app_name          : "app2"]        
        }    
}

3:在src下面(與mian文件同目錄)創建對應版本的文件夾:

1.png

需要更換Logo和應用名稱在下面文件中添加

2.png

更換應用名稱: 在value文件夾下的 appname.xml中設置

<resources>    
        <string name="app_name">app1</string>
</resources>

至此就可以一次性打出兩個安裝包,應用的名稱logo與Id都已經更換。
4.如果需要更換應用的請求地址,在每個版本的文件夾現在新建一個java類,比如圖中我在java目錄下新建Constant.java

public class Contant {    
        public static String url = "www.baidu.com";
}

在其他代碼中調用這個url就可以實現不同的服務器地址了。

Android Studio的多渠道打包還可以實現更多功能,后續會繼續添加。不過現在的需求都已經滿足了。

5.更換輸出的文件名稱。

android{
    // 輸出文件配置
        applicationVariants.all { variant ->
            variant.outputs.each { output ->
                def outputFile = output.outputFile
                if (outputFile != null && outputFile.name.endsWith('.apk')) {
                        def dirName = outputFile.parent // 輸出文件夾所在的位置
            
                        // 文件名修改
                        def fileName = "app-${output.processResources.variantName}-${defaultConfig.versionName}-${variant.flavorName}.apk"
                       // 比如不想這么麻煩,直接在后面加上版本號也行:
                       // def fileName = outputFile.name.replace(".apk", "-${defaultConfig.versionName}.apk")
                output.outputFile = new File(dirName, fileName)
            }
        }
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,732評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,214評論 3 426
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,781評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,588評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,315評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,699評論 1 327
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,698評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,882評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,441評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,189評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,388評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,933評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,613評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,023評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,310評論 1 293
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,112評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,334評論 2 377

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,703評論 25 708
  • 閱讀及筆記時間:2016年11月4日,21:30-22:30;1小時; 閱讀書本:《身體知道答案》,作者:武志紅;...
    時空山莊閱讀 493評論 0 2
  • 文/SweetAnna 不開心的事 必須經過內心的掙扎 不會刻意刪除任何信息 去忘記 哪怕是特殊的備注 真正釋放了...
    SweetAnna閱讀 172評論 0 0
  • 胡媽口頭禪“總有一天我要走掉,到大山里面去,一個人過,偶著萬(我走掉紹興話),總要被偶著萬” 胡爸和小胡聽多了就不...
    睡覺不用枕頭閱讀 266評論 0 0
  • 她 她是一個頂懶散的人,什么事都不管,什么事都懶得管。 ...
    夢玉凌閱讀 329評論 0 0