使用gradle同时打线上包和线下包动态替换url

原创 2015年07月10日 10:42:03

这里写图片描述
步骤

01 、

新建offline、online特性文件夹
注意:这里有个比较大的坑,如果建立超过一个的特性flavor文件夹,需要保证有且只有一个特性文件夹为resource folder,其他的均为普通的文件夹。截图里的online下面(绿色矩形框)的java 、okay、com、gradletest均为普通文件夹,而offline下面的java为resource folder,okay.com.gradletest为packagename。包名和文件夹的名称需要和main目录保持一致。
如不遵守这个原则,会出现找不到类或者类重复的错误。(本人在此处卡了很久很久很久,也尝试用其他方式去解决,但最终发现只有这种方式比较合适。谁有好的建议,可以一起探讨)
另外,在特性flavor文件夹下定义的类,在main目录是不应该存在的,否则也会出现类重复的情况。因为gradle在编译时,会把特性文件夹下的代码文件merge到main目录。

02

进行打包就可生成两个不同url的包

productFlavors {
offline{}
online{}
}

Android使用Gradle命令动态修改BASE_URL(测试/正式环境地址)完成打包,不需要修改代码

通常,我们的应用都会有开发环境、测试环境等,现在我分别想要一个测试环境的包和一个线上环境的包,我不想在代码中去修改我的BASE_URL(各个环境的地址url)来达到这个需求,那么,只能使用gradle...
  • yanxiaosa
  • yanxiaosa
  • 2017年03月14日 18:01
  • 2060

Gradle 多环境URL请求设置

在开发过程中,多环境配置是经常遇到的,比如在Android开发过程中,在不同环境上请求服务器的URL是不同的,使用Gradle进行管理,是非常方便的。 首先查看工程目录结构: 使用Andr...
  • believer123
  • believer123
  • 2015年03月06日 16:03
  • 2133

Android Studio Gradle 多渠道自动打包,动态修改HostUrl,签名apk,混淆配置详解

Android studio Gradle 多渠道自动打包,动态修改HostUrl,签名apk,混淆配置等
  • sk719887916
  • sk719887916
  • 2014年10月28日 15:47
  • 2679

Gradle技巧(一)之生产测自动切换包名主机地址等

Gradle相信大家并不陌生,这货虽然有时候很卡,有时候让人难以琢磨,但是不可否认它确实给Android的开发带来了无数的便利。如果你需要实现以下需求,那么看这个文章就可以解决了。一.大家都知道我们开...
  • AndroidMsky
  • AndroidMsky
  • 2017年05月10日 11:43
  • 1467

android gradle 自动动态构建多平台的包

在gradle中,通过android插件可以设定不同的buildType来构建多平台的包。 当前需求是自动打出几个平台的包,还需要针对不同的平台生成不同的manifest。 android { ...
  • qihigh
  • qihigh
  • 2014年01月06日 17:25
  • 4700

安卓配置正式包和测试包不同的名字、图标、同时安装,(极光配置测试和正式)

需求 正式应用和测试用应用需要同时安装在同一台手机上 正式和测试拥有不同的签名、名称、图标。。。等等 其他 例如 极光 配置不同账号,测试和正式的分开(吐槽也止呕极光才需要配置不同applicatio...
  • heimaer
  • heimaer
  • 2017年09月28日 14:39
  • 211

android 开发环境的效率匹配(host修改和http抓包)

1、测试环境切换host 2、多种发布环境查看
  • lckj686
  • lckj686
  • 2015年05月25日 23:08
  • 1346

Android打包中区分测试和正式环境

APK打包正式环境和测试环境注意最近在项目打包中,遇到一个问题,每次打包都要区分正式发布包和测试版本的包,主要是修改一下配置public static final boolean EXTERNAL_R...
  • baidu_31956557
  • baidu_31956557
  • 2016年10月12日 09:46
  • 2102

Android 在同一台手机上同时安装测试包和正式包

日常开发的时候往往需要调试,调试一般是测试包,而上线前的最后调试一般是正式包。怎么样才能在同一个手机中安装测试包和正式包呢?关键就在包名ApplicationID上面通过Gradle可以配置不同的版本...
  • myth13141314
  • myth13141314
  • 2017年06月23日 11:34
  • 626

使用Gradle区分生产与测试环境

需求:自动配置生产环境与测试环境相异的内容,如(http请求的网址)等。   用到的工具:AndroidStudio。   需要的知识:基本的gradle常识。   好了。让我们开始吧: ...
  • chunge2788
  • chunge2788
  • 2016年08月02日 14:48
  • 2224
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用gradle同时打线上包和线下包动态替换url
举报原因:
原因补充:

(最多只允许输入30个字)