Android Gradle 多環境URL請求設置
阿新 • • 發佈:2018-10-09
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請求設置