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

  • 第三方API的KEY的管理
    Android開發,基本都會用到第三方SDK,例如百度地圖、支付寶支付等。
    一般第三方的KEY都是保存在AndroidManifest中:
    <!-- 百度地圖的KEY-->
    <meta-data
      android:name="com.baidu.lbsapi.API_KEY"
     android:value="百度地圖註冊的KEY"/>複製代碼
    每次更換KEY或者多渠道打包;老是在Gradle和Mainfest中來回更改,有時候一個疏忽,可能就漏了一個,怎能讓人不蛋疼。
    能不能將他們統一配置到某個位置,統一管理,輕鬆更改呢?Google替咱們想到了。利用manifestPlaceholders
  • ######方法
    AndroidManifest中的KEY,咱們用一個變量代替,在build.gradle中動態的替換,還以百度地圖SDK的KEY爲例:java

    <meta-data
           android:name="com.baidu.lbsapi.API_KEY"
           android:value="${baidu_key}"/>複製代碼

    在build.gradle中:react

    debug {
              manifestPlaceholders = [baidu_key: 百度地圖的KEY]
          }
    
          release {
             manifestPlaceholders = [baidu_key: 百度地圖的KEY]
          }複製代碼

    其它的第三方KEY管理相似,例如新加入友盟SDKandroid

    <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中:api

    debug {
              manifestPlaceholders = [baidu_key: 百度地圖的KEY,umeng_key: 友盟的KEY]
          }
    
          release {
             manifestPlaceholders = [baidu_key: 百度地圖的KEY,umeng_key: 友盟的KEY]
          }複製代碼

搞定,相似第三方KEY均可以在gradle中管理bash

  • Gradle中版本管理
    gradle中,包含包名、VersionCode、versionName、compileSdkVersion以及第三方依賴庫等大量信息,管理起來,稍有不慎就會誤刪或者改錯,致使編譯失敗,能不能像管理第三方KEY同樣,將全部須要修改的參數統一管理起來,只修改參數,不干擾其餘因素這樣在版本升級中,無需打開gradle在繁雜的代碼中修改各類版本號,例如:

統一管理.png
統一管理.png

須要修改compileSdkVersion 時,只須要修改COMPILE_SDK_VERSION,何樂而不爲,那就開始吧:gradle

  • 命名規則:命名自定義,可是最好見名知意,字母大寫,相似於全局常量命名,後面加修飾符號
  • 例如:minSdkVersion,命名MIN_SDK_VERSION,修飾符號 as int ,
    完整命名:minSdkVersion MIN_SDK_VERSION as intui

    針對全部須要統一管理的參數命名以後,就相似於上面的圖片,這個時候問題來了,命名以後,具體參數咱們在哪裏記錄,並讓gradle找到的咱們設置的參數呢?

    在Project目錄下,找到gradle.properties
    spa

    Paste_Image.png
    Paste_Image.png

    gradle.properties中,去配置咱們聲明的參數:
    Paste_Image.png
    Paste_Image.png

    這樣,在版本升級中,更改VERSION_NAME和VERSION_CODE就是再簡單不過,還不容易出錯

  • 然鵝,不單單如此:

    run.gif
    run.gif

開發中常常使用到的第三方庫,以依賴方式添加的庫,管理起來也同樣方便,例如,如今如日中天的Rxjava庫、Retrofit庫,RxAndroid庫:debug

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統一管理,不過在build.gradle中命名方式,相似於第三方KEY的命名:3d

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
依賴庫的版本管理.png

經過gradle,並不須要複雜操做,統一管理各類第三方KEY和依賴庫的版本,避免開發中出錯,但願你們能使用這些開發的小技巧,提升開發效率,代碼無bug, 月活過百萬,月薪6位數,迎娶白富美,打哭產品,走上人生巔峯

相關文章
相關標籤/搜索