Gradle多渠道打包

2022-09-07 22:00:28 字數 1658 閱讀 9042

廢話不多說,以友盟統計為例,在androidmanifest.xml裡面會有這麼一段:

<

meta-data

android:name

="umeng_channel"

android:value

="channel_id"

/>

裡面的channel_id就是渠道標示。我們的目標就是在編譯的時候這個值能夠自動變化。

或者批量修改

很簡單清晰有沒有?直接執行./gradlew assemblerelease, 然後就可以靜靜的喝杯咖啡等待打包完成吧。

除此之外assemble還能和product fl**or結合建立新的任務,其實assemble是和build variants一起結合使用的,而build variants=build type+product fl**or, 舉個例子大家就明白了:

如果我們想打包wandoujia渠道的release版本,執行如下命令就好了:

如果我們只打wandoujia渠道版本,則:

此命令會生成wandoujia渠道的release和debug版本

同理我想打全部release版本:

這條命令會把product fl**or下的所有渠道的release版本都打出來。

總之,assemble命令建立task有如下用法:

最後福利大放送,來乙份我在專案中使用的完整的gradle檔案配置:

return

new date().format("yyyy-mm-dd", timezone.gettimezone("utc"))

}android

lintoptions

signingconfigs

release

}buildtypes

release _$_$.apk"output.outputfile = new

file(outputfile.parent, filename)}}

}}

}//友盟多渠道打包

Android多渠道打包

度娘能搜到很多種多渠道打包方式,我這裡簡單說下我們目前正在使用的打包方法。首先背景情況 我們不同渠道,除了渠道號 vendorid 不一樣外,還有功能上的稍許不同,所以還有幾個開關控制專案。方法原理 專案 中在res raw 下增加config.dat檔案,裡面有渠道號,和功能開關 apk包,其實是...

android Ant 批量多渠道打包

支援多渠道打包 需要配置在androidmanifest.xml配置個 android name和android value位置不能變 這裡先要說下必須的 1 ant版本1.7以上 adt版本的eclipse裡的ant是1.8.3 ok eclipse plugins org.apache.ant ...

Android原始多渠道打包

原始多渠道打包就是個體力活,在較少渠道的時候可以使用,但是面對上千的渠道的時候,使用這種方式你會後悔當一名android開發工程師。它的原理是在應用 中設定渠道id,使用的時候將渠道id設定給資料分析介面,資料分析平台通過該渠道id分析之。其實後面多渠道方式的本質原理都是這樣的,但是具體擴充套件方式...