關(guān)于 Android多渠道打包

關(guān)于Android需要多渠道打包的意義不需要多說,眾多Android應(yīng)用的分發(fā)平臺(tái),我們需要進(jìn)行各種數(shù)據(jù)的統(tǒng)計(jì)。

1,360加固保

? ?這種方式非常簡單,只需要在加固前設(shè)置好多渠道配置便可,上傳apk便可以生成各渠道包。

2,Android studio

(1)在manifest.xml中添加?

<meta-data

? ? android:name="UMENG_CHANNEL"

? ? android:value="${UMENG_CHANNEL_VALUE}" />

(2)在build.gradle 設(shè)置productFlavors

在Android節(jié)點(diǎn)下添加:

productFlavors {

? ? ?//配置多渠道打包平臺(tái)

? ? ? ?xiaomi {? ? }

? ? ? baidu {

? ? ? ? //在默認(rèn)的的id和name后面追加,使用這種方式可以同時(shí)安裝測試和正式環(huán)境的apk,也可以使用?applicationId等屬性覆蓋性設(shè)置。未設(shè)置則使用默認(rèn)設(shè)置

? ? ? ? ? ?applicationIdSuffix ".baidu"

? ? ? ? ? versionNameSuffix "-baidu"

? ? ? }

? ?}

//統(tǒng)一設(shè)置所有平臺(tái)使用名字替換UMENG_CHANNEL_VALUE值,也可以在上面每個(gè)憑條分別設(shè)置

?productFlavors.all {

? ? ? ? flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]

?}

這樣打包的時(shí)候選擇所有Flavor就可以同時(shí)打包出所有平臺(tái)的apk

(3)如果在不同平臺(tái)需要配置不同的資源文件,在src目錄下建立不同平臺(tái)的文件夾,名字與平臺(tái)名稱一致,目錄結(jié)構(gòu)同main文件夾即可

(4)測試打包出來的UMENG_CHANNEL_VALUE值


private String getApplicationMetaValue(String name) {

String value ="";

try {

ApplicationInfo applicationInfo = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);

value = applicationInfo.metaData.getString(name);

}catch (PackageManager.NameNotFoundException e) {

e.printStackTrace();

}

return value;

}


getApplicationMetaValue("UMENG_CHANNEL");即可

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容