1. 程式人生 > >Android Gradle 多環境URL請求設置

Android Gradle 多環境URL請求設置

gin alt types packaging config 分享 app version 分享圖片

在開發過程中,多環境配置是經常遇到的,比如在Android開發過程中,在不同環境上請求服務器的URL是不同的,使用Gradle進行管理,是非常方便的。
首先查看工程目錄結構:
技術分享圖片
使用AndroidStudio開發的看到這個熟悉吧。main就是目前開發的環境。dev為測試環境。product,staging為其他環境,當然還可以有其他更多環境。

1、將請求的URL定義到Constant常量類中:

public class Constant { 
  public static final String URL= “http://XXXXX“; 
}

在dev,product,staging等環境中添加Constant類,並且設置不同URL即可。
設置後目錄結構如下:我的app包名為com.example.XX.myapplication
技術分享圖片
這裏需要註意的是不要在main環境中添加Constant類,否則類就重復了,Gradle編譯時會報:dumplicate class XXX

使用時就和普通類使用方式一樣!

Gradle配置:

apply plugin: com.android.application

android {
    compileSdkVersion 21
    buildToolsVersion 
"19.1.0" lintOptions { abortOnError false } defaultConfig { applicationId "com.example.teamlab.myapplication" minSdkVersion 9 targetSdkVersion 21 versionCode 1 versionName "1.0" } signingConfigs { debug { storeFile file(
"src/main/keystore/debug.keystore") storePassword "android" keyPassword "android" } release { storeFile file("src/main/keystore/debug.keystore") storePassword "android" keyPassword "android" } staging { storeFile file("src/main/keystore/debug.keystore") storePassword "android" keyPassword "android" } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(proguard-android.txt), proguard-rules.pro } debug { minifyEnabled false proguardFiles getDefaultProguardFile(proguard-android.txt), proguard-rules.pro } } productFlavors { dev { applicationId com.example.teamlab.myapplication.dev signingConfig signingConfigs.debug } staging { signingConfig signingConfigs.debug applicationId com.example.teamlab.myapplication.staging } product { applicationId com.example.teamlab.myapplication signingConfig signingConfigs.debug } } packagingOptions { exclude META-INF/notice.txt exclude META-INF/license.txt } } dependencies { compile fileTree(dir: libs, include: [*.jar]) compile com.android.support:appcompat-v7:21.+ compile com.android.support:support-v4:21.+ compile cn.pedant.sweetalert:library:1.3 compile com.mcxiaoke.volley:library:1.0.+ androidTestCompile junit:junit:4.10 androidTestCompile org.robolectric:robolectric:2.3+ androidTestCompile com.squareup:fest-android:1.0.+ compile project(:slidingmenu) }

Android Gradle 多環境URL請求設置