Gradle 多环境URL请求设置

在开发过程中,多环境配置是经常遇到的,比如在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‘)
}

时间: 2024-10-07 22:34:22

Gradle 多环境URL请求设置的相关文章

Android Gradle 多环境URL请求设置

在开发过程中,多环境配置是经常遇到的,比如在Android开发过程中,在不同环境上请求服务器的URL是不同的,使用Gradle进行管理,是非常方便的. 首先查看工程目录结构: 使用AndroidStudio开发的看到这个熟悉吧.main就是目前开发的环境.dev为测试环境.product,staging为其他环境,当然还可以有其他更多环境. 1.将请求的URL定义到Constant常量类中: public class Constant { public static final String U

QWebEngineView拦截Url请求设置

QWebEngineUrlRequestInterceptor类提供了一个拦截URL请求抽象基类,可通过实现QWebEngineUrlRequestInterceptor::interceptRequest接口拦截并修改相应的UIL请求,以达到相应需求效果,比如设置"Accept-Language". class TWebEngineUrlRequestInterceptor : public QWebEngineUrlRequestInterceptor { Q_OBJECT pub

根据URL请求 返回XML字符串

public static string GetHttpResponse(string url) { string content = ""; // Create a new HttpWebRequest object.Make sure that // a default proxy is set if you are behind a fure wall. //其中,HttpWebRequest实例不使用HttpWebRequest的构造函数来创建,二是使用WebRequest的C

WebX学习二——URL请求流程分析

URL请求流程分析 1.在index页面中设置了 得到如下链接 当这个get请求发出的时候,流程是这样的: 首先,它被webx中配置的Filter捕获: 进入源码分析发现:该请求进入了WebxFrameworkFilter的doFilter方法: @Override protected void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOExcept

linux下c语言url请求

任何代码只有你写过,才能深刻理解,有的时候看文档看的很茫然的时候,尽量找点别人的源码,在别人源码上更改,在调试,可能会达到事半功倍的效果. 近来项目需要linux中访问一个url接口传参数及获取返回值,看了很多方法,知道用socket,但是没接触过,感觉很茫然,就在网上找实例,看看了,有了一点感觉,又在别人的实例上改动之后竟然可以用了,当时就卡在了http的格式上,下面写个demo,只要在我的代码上吧url换了,肯定可以成功.注意url不要http:// #include <stdio.h>#

使用 gradle 在编译时动态设置 Android resValue / BuildConfig / Manifes中&amp;lt;meta-data&amp;gt;变量的值

转载请标明出处:http://blog.csdn.net/xx326664162/article/details/49247815 文章出自:薛瑄的博客 你也能够查看我的其它同类文章.也会让你有一定的收货 关于使用Gradle来控制版本号和生成不同版本号的代码.我总结了三篇文章,网上关于这些知识,都比較零散.我在学习这些的之前.根本不知道还有这种方法.所以说不知道并不可怕,可怕的是不知道自己不知道.相信这三篇文章,会给你不少灵感 Gradle构建控制Log开关--BuildConfig\自己定义

IOS网络篇1之截取本地URL请求(NSURLProtocol)

本文转载至 http://blog.csdn.net/u014011807/article/details/39894247 NSURLProtocol 是iOS中非常重要的一个部分,我们经常会在以下地方用到它: (1)网络请求代理转发(FQ 网络加速等) (2)离线缓存策略 总之,只要是需要对本地的URL请求进行截获的,我们都需要使用这个东东. IOS中我们经常使用的网络请求NSURLConnection以及WebView的页面加载都会被NSURLProtocol截获,因此这个部分的核心就是如

HttpUrlConnection发送url请求(后台springmvc)

1.HttpURLConnection发送url请求 public class JavaRequest { private static final String BASE_URL = "http://localhost:8080/dsdemo/"; public static String userToken = null; public static String problemName = null; public static String sendPost(String su

模拟post进行url请求

/** * 模拟post进行url请求 * @param string $url * @param array $post_data * @return bool|mixed */function request_post($url = '', $post_data = array()){ if (empty($url) || empty($post_data)) { return false; } $str = ""; foreach ($post_data as $key =>