Flutter渠道打包功能

Flutter打包

從 Flutter v1.17 開始寞埠,F(xiàn)lutter 命令工具增加了自定義參數(shù)的功能 --dart-define召调,我們可以用這個命令參數(shù)在打包或運(yùn)行App時設(shè)置參數(shù)即可

flutter run --dart-define=APP_CHANNEL=BaiduChannel

傳遞多組參數(shù)命令

flutter run --dart-define=APP_CHANNEL=BaiduChannel --dart-define=OTHER_VAR=百度渠道

在 Dart 代碼中你需要這樣寫娇掏,一定是和命令參數(shù)是對應(yīng)的

// main.dart
class EnvironmentConfig {
  static const APP_CHANNEL = String.fromEnvironment('APP_CHANNEL');
  static const OTHER_VAR = String.fromEnvironment('OTHER_VAR');
}

原生打包

通常 Android 的多渠道是給 AndroidManifest.xml 寫一個 <meta-data/> ,如果要保持原來原生的統(tǒng)計方式不變桶雀,那么首先我們需要獲渠道 命令參數(shù)(--dart-define=APP_CHANNEL=BaiduChannel --dart-define=OTHER_VAR=百度渠道)的內(nèi)容辕狰,則需要更改 Gradle 配置

// android/app/build.gradle
/// 獲取渠道參數(shù)使用,這里設(shè)置一下默認(rèn)值
def dartEnvironmentVariables = [
    APP_CHANNEL: 'main',
    OTHER_VAR: 'other',
]

if (project.hasProperty('dart-defines')) {
    dartEnvironmentVariables = dartEnvironmentVariables + project.property('dart-defines')
        .split(',')
        .collectEntries { entry ->
            // 1.22.6 版本
            def pair = URLDecoder.decode(entry).split('=')
            // 2.2 版本
            //def pair = new String(entry.decodeBase64(), 'UTF-8').split('=')
            [(pair.first()): pair.last()]
        }
}

總結(jié)

通過Flutter命令工具的自定義參數(shù)功能進(jìn)行渠道差分打包改备,在Dart文件或者gradle文件中讀取命令參數(shù)完成渠道的配置

參考文章:Flutter 中如何優(yōu)雅的實現(xiàn)多渠道打包(埋點統(tǒng)計系列)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蔓倍,隨后出現(xiàn)的幾起案子悬钳,更是在濱河造成了極大的恐慌,老刑警劉巖偶翅,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件默勾,死亡現(xiàn)場離奇詭異,居然都是意外死亡聚谁,警方通過查閱死者的電腦和手機(jī)母剥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來形导,“玉大人环疼,你說我怎么就攤上這事《涓” “怎么了秦爆?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長憔披。 經(jīng)常有香客問我等限,道長,這世上最難降的妖魔是什么芬膝? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任望门,我火速辦了婚禮,結(jié)果婚禮上锰霜,老公的妹妹穿的比我還像新娘筹误。我一直安慰自己,他們只是感情好癣缅,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布厨剪。 她就那樣靜靜地躺著哄酝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪祷膳。 梳的紋絲不亂的頭發(fā)上陶衅,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機(jī)與錄音直晨,去河邊找鬼搀军。 笑死,一個胖子當(dāng)著我的面吹牛勇皇,可吹牛的內(nèi)容都是我干的罩句。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼敛摘,長吁一口氣:“原來是場噩夢啊……” “哼门烂!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起兄淫,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤诅福,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后拖叙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體氓润,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年薯鳍,在試婚紗的時候發(fā)現(xiàn)自己被綠了咖气。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡挖滤,死狀恐怖崩溪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情斩松,我是刑警寧澤伶唯,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站惧盹,受9級特大地震影響乳幸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜钧椰,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一粹断、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嫡霞,春花似錦瓶埋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽曾撤。三九已至,卻和暖如春晕粪,著一層夾襖步出監(jiān)牢的瞬間挤悉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工兵多, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人橄仆。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓剩膘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親盆顾。 傳聞我的和親對象是個殘疾皇子怠褐,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345