使用Gradle管理Debug/Release版本的Key

? 在開(kāi)發(fā)過(guò)程中經(jīng)常會(huì)遇到debug/release版本中某個(gè)值需要?jiǎng)討B(tài)改變方便開(kāi)發(fā)和測(cè)試,就像BuildConfig的DEBUG一樣,在debug版本中為true,release版本中為false,這樣不用我們手動(dòng)每次去修改,在開(kāi)發(fā)過(guò)程中還是比較方便的。

?最近的工作中由于使用到了百度地圖SDK,使用過(guò)百度地圖SDK的人可能知道百度給我的Key是根據(jù)我們的秘鑰sha1和包名生成的,所以這樣就產(chǎn)生了一個(gè)問(wèn)題,當(dāng)我們打包debug和release包時(shí)需要不同的key,或者使用gradle productFlavors修改applicationId同時(shí)打多個(gè)不同版本的包時(shí),每個(gè)版本包的key是不同的,這就需要我們動(dòng)態(tài)設(shè)置key

所以我們的需求是

debug:key=1234
release:key=56789

這樣我們就不用每次修改Key再去打包了,那如何實(shí)現(xiàn)呢?

1.在AndroidManifest.xml設(shè)置占位

<meta-data
        android:name="com.baidu.lbsapi.API_KEY"
        android:value="${baiduMapKey}"/>

${baiduMapKey} baiduMapKey這個(gè)值是動(dòng)態(tài)的,需要我們?cè)O(shè)置

2.在build.gradle中設(shè)置Debug/Release的baiduMapKey

buildTypes {
    debug {
        manifestPlaceholders = [baiduMapKey: "1234"]
    }

    release {
        manifestPlaceholders = [baiduMapKey: "5678"]
   
    }
}

3.執(zhí)行g(shù)radlew assembleDebug/assembleRelease

這個(gè)時(shí)候的debug版本key=1234
release版本key=5678

就這么簡(jiǎn)單的完事了,是不是很簡(jiǎn)單方便

最后編輯于
?著作權(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),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,502評(píng)論 19 139
  • 1.介紹 如果你正在查閱build.gradle文件的所有可選項(xiàng),請(qǐng)點(diǎn)擊這里進(jìn)行查閱:DSL參考 1.1新構(gòu)建系統(tǒng)...
    Chuckiefan閱讀 12,355評(píng)論 8 72
  • 轉(zhuǎn)載注明出處:http://www.itdecent.cn/p/5255b100930e 0. 前言 完全由個(gè)人翻...
    王三的貓阿德閱讀 2,730評(píng)論 0 4
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,725評(píng)論 25 709
  • 孤伴長(zhǎng)夜,白月苒苒 視,孤杯寒月 琥珀寒光 滿是躊躇心 逼問(wèn)自己回憶是否忘記 思念,毒藥似得 瘋了一樣,占領(lǐng)了你的...
    魘客閱讀 295評(píng)論 0 5

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