Android Studio配置多版本APK

實際開發中,我們可能需要對項目進行多版本打包,比較笨的方法是需要打什么包就修改相關配置,打出來就行了,但是

這種做法太過于笨重。下面講下多版本打打包的實現方法

多版本打包

需求場景:同一個手機安裝同一個apk的不同版本。比如安裝兩個不同生產環節的apk、beta版及pro版等。

實現:

首先打開app下的build.gradle 找到defaultConfig

defaultConfig{

applicationId"com.zhangkx.androidprinter"

minSdkVersion15

targetSdkVersion25

versionCode1

versionName"1.0"

testInstrumentationRunner"android.support.test.runner.AndroidJUnitRunner"}

這里的defaultConfig就是默認的版本配置,也就是主配置,如果想要配置多版本的話需要添加新的配置,

下面給出配置代碼

//配置更多版本的apk

productFlavors{

//beta版

Beta{

applicationId"com.zhangkx.androidprinter.beta"

//獲取string.xml文件總stryKey的值java代碼context.getResources().getString(R.string.versionKey);

resValue("string","versionKey","version_beta");}

//Pro版

Pro{

applicationId"com.zhangkx.androidprinter.pro"

//獲取string.xml文件總stryKey的值java代碼context.getResources().getString(R.string.versionKey);

resValue("string","versionKey","version_pro");

}


}

這樣在打包的時候就可以選擇打不通版本代碼,并且能安裝兩個不同版本的代碼到手機中

如果需要對不同版本設置不同的icon的話 可以這樣實現

android:allowBackup="true"

android:icon="${icon}" ? ///注意這里的寫法 ? 這里可以使用引用的icon?

android:label="@string/app_name"

android:roundIcon="@mipmap/ic_launcher_round"

android:supportsRtl="true"

android:theme="@style/AppTheme">

gradle 這樣配置就可以了

//配置更多版本的apk

productFlavors{

//beta版

Beta{

applicationId"com.zhangkx.androidprinter.beta"

manifestPlaceholders=[app_name:"com.zhangkx.androidprinter.beta",icon:"@mipmap/icon"] //這里是設置對應版本的icon的?

//獲取string.xml文件總stryKey的值java代碼context.getResources().getString(R.string.versionKey);

resValue("string","versionKey","version_beta");

}

//Pro版

Pro{

applicationId"com.zhangkx.androidprinter.pro"

manifestPlaceholders=[app_name:"com.zhangkx.androidprinter.beta",icon:"@mipmap/ic_launcher_round"]

//獲取string.xml文件總stryKey的值java代碼context.getResources().getString(R.string.versionKey);

resValue("string","versionKey","version_pro");

}

}

當然,如果不同版本有特殊的標記或者api不一樣的話,也可以通過這種方式進行更改,到此,多版本打包已經完成了


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容