Androidstudio高效管理第三方API的KEY及Gradle版本管理

  • 第三方API的KEY的管理

Android開發(fā)氮块,基本都會用到第三方SDK,例如百度地圖、支付寶支付等探入。
通常第三方的KEY都是保存在AndroidManifest中:

<!-- 百度地圖的KEY-->
<meta-data
    android:name="com.baidu.lbsapi.API_KEY"
   android:value="百度地圖注冊的KEY"/>```
每次更換KEY或者多渠道打包震檩;總是在Gradle和Mainfest中來回更改琢蛤,有時候一個疏忽,可能就漏了一個抛虏,怎能讓人不蛋疼博其。
能不能將他們統(tǒng)一配置到某個位置,統(tǒng)一管理迂猴,輕松更改呢慕淡?Google替我們想到了。利用manifestPlaceholders
- ######方法
AndroidManifest中的KEY沸毁,我們用一個變量代替峰髓,在build.gradle中動態(tài)的替換,還以百度地圖SDK的KEY為例:

<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="${baidu_key}"/>```
在build.gradle中:

        debug {
            manifestPlaceholders = [baidu_key: 百度地圖的KEY]
        }

        release {
           manifestPlaceholders = [baidu_key: 百度地圖的KEY]
        }```
其它的第三方KEY管理類似息尺,例如新加入友盟SDK

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

在build.gradle中:
    debug {
        manifestPlaceholders = [baidu_key: 百度地圖的KEY携兵,umeng_key: 友盟的KEY]
    }

    release {
       manifestPlaceholders = [baidu_key: 百度地圖的KEY,umeng_key: 友盟的KEY]
    }```

搞定搂誉,類似第三方KEY都可以在gradle中管理

  • Gradle中版本管理

gradle中眉孩,包含包名、VersionCode、versionName浪汪、compileSdkVersion以及第三方依賴庫等大量信息巴柿,管理起來,稍有不慎就會誤刪或者改錯死遭,導致編譯失敗广恢,能不能像管理第三方KEY一樣,將所有需要修改的參數(shù)統(tǒng)一管理起來呀潭,只修改參數(shù)钉迷,不干擾其他因素這樣在版本升級中,無需打開gradle在繁雜的代碼中修改各種版本號钠署,例如:

統(tǒng)一管理.png

需要修改compileSdkVersion 時糠聪,只需要修改COMPILE_SDK_VERSION,何樂而不為谐鼎,那就開始吧:

  • 命名規(guī)則:命名自定義舰蟆,但是最好見名知意,字母大寫狸棍,類似于全局常量命名身害,后面加修飾符號
  • 例如:minSdkVersion,命名MIN_SDK_VERSION草戈,修飾符號 as int 塌鸯,
    完整命名:minSdkVersion MIN_SDK_VERSION as int
針對所有需要統(tǒng)一管理的參數(shù)命名之后,就類似于上面的圖片唐片,這個時候問題來了丙猬,命名之后,具體參數(shù)我們在哪里記錄费韭,并讓gradle找到的我們設置的參數(shù)呢淮悼?

在Project目錄下,找到gradle.properties


Paste_Image.png

gradle.properties中揽思,去配置我們聲明的參數(shù):


Paste_Image.png

這樣,在版本升級中见擦,更改VERSION_NAME和VERSION_CODE就是再簡單不過钉汗,還不容易出錯
  • 然鵝,不僅僅如此:
run.gif

開發(fā)中經(jīng)常使用到的第三方庫鲤屡,以依賴方式添加的庫损痰,管理起來也一樣方便,例如酒来,現(xiàn)在如日中天的Rxjava庫卢未、Retrofit庫,RxAndroid庫:

    compile 'com.squareup.retrofit2:retrofit:2.1.0'
    compile 'com.squareup.retrofit2:converter-gson:2.1.0'
    compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
    compile 'io.reactivex:rxandroid:1.2.0'
    compile 'io.reactivex:rxjava:1.1.6'```
對應版本,也可以在gradle.properties統(tǒng)一管理辽社,不過在build.gradle中命名方式伟墙,類似于第三方KEY的命名:

compile "io.reactivex:rxandroid:${RX_ANDROID_VERSION}"
compile "io.reactivex:rxjava:${RX_JAVA_VERSION}"
compile "com.squareup.retrofit2:retrofit:${RETROFIT_VERSION}"
compile "com.squareup.retrofit2:converter-gson:${RETROFIT_VERSION}"

同理,對應的版本號在gradle.properties
![依賴庫的版本管理.png](http://upload-images.jianshu.io/upload_images/2789715-c0a2be73586e3877.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

通過gradle滴铅,并不需要復雜操作戳葵,統(tǒng)一管理各種第三方KEY和依賴庫的版本,避免開發(fā)中出錯汉匙,希望大家能使用這些開發(fā)的小技巧拱烁,提高開發(fā)效率,代碼無bug, 月活過百萬噩翠,月薪6位數(shù)戏自,迎娶白富美,打哭產(chǎn)品伤锚,走上人生巔峰
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末擅笔,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子见芹,更是在濱河造成了極大的恐慌剂娄,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件玄呛,死亡現(xiàn)場離奇詭異阅懦,居然都是意外死亡,警方通過查閱死者的電腦和手機徘铝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門耳胎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人惕它,你說我怎么就攤上這事怕午。” “怎么了淹魄?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵郁惜,是天一觀的道長。 經(jīng)常有香客問我甲锡,道長兆蕉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任缤沦,我火速辦了婚禮虎韵,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘缸废。我一直安慰自己包蓝,他們只是感情好驶社,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著测萎,像睡著了一般亡电。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上绳泉,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天逊抡,我揣著相機與錄音,去河邊找鬼零酪。 笑死冒嫡,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的四苇。 我是一名探鬼主播孝凌,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼月腋!你這毒婦竟也來了蟀架?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤榆骚,失蹤者是張志新(化名)和其女友劉穎片拍,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體妓肢,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡捌省,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了碉钠。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纲缓。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖喊废,靈堂內(nèi)的尸體忽然破棺而出祝高,到底是詐尸還是另有隱情,我是刑警寧澤污筷,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布工闺,位于F島的核電站,受9級特大地震影響瓣蛀,放射性物質(zhì)發(fā)生泄漏陆蟆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一揪惦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧罗侯,春花似錦器腋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽诊县。三九已至,卻和暖如春措左,著一層夾襖步出監(jiān)牢的瞬間依痊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工怎披, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留胸嘁,地道東北人。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓凉逛,卻偏偏與公主長得像性宏,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子状飞,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,303評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理毫胜,服務發(fā)現(xiàn),斷路器诬辈,智...
    卡卡羅2017閱讀 134,704評論 18 139
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一種新的協(xié)議酵使。它實...
    香橙柚子閱讀 23,911評論 8 183
  • #少年游365#小時候養(yǎng)了兩只母貓。春天一起生小貓崽焙糟。一窩6只口渔。所以我家槐樹上棗樹上院墻上都是貓崽兒。想象一下酬荞,小...
    Vina眼里存山河閱讀 132評論 0 0
  • 【來信】 川叔混巧,買了你的《扛得住世界就是你的》兩本枪向,第一本在學校里被偷了,第二本鎖在我的柜子里咧党,已經(jīng)看了第二遍秘蛔,看...
    小川叔閱讀 4,725評論 15 84