Android利用productFlavors 打包不同版本API的调用

文章来源http://www.jianshu.com/p/81eff804d1b8

功能背景:

因公司项目要求,每次打包都需要打包三个版本,两个测试版本和一个线上的版本,


并且调用不同的baseURL,最开始的做法是每次打包一次就换一个baseURL,然后一个个打包,分别需要打包三次,如果编译很慢会浪费了很多时间,还需要注释掉不同的baseURL,于是想到应该如何一次性打包三个版本的apk并且调用不同的baseURL,如果有类似需求的,可以参照我下面自己实现的方式。

首先在 src 目录下新建几个自己需要打包对应名称的包,比如我要打包如下三个版本, uat ,nduat,product,新建各自java文件夹,可以直接复制main文件下的java包到各个新建目录下,然后只新建和声明自己需要类和对应常量(需一致)。

public class Constant {public static String BASE_URL = "http://www.*****";}

然后在主程序main需要的地方调用对应的常量baseUrl,实际开发中是调用api去请求数据


在代码中调用的是当前选择对应的productFlavors版本的代码,比如当前选择的是nduat版,其他版本会显示下面好像报错的红圈,编译正常,当我们打包成功后,它会调用对应目录下面常量


然后签名打包,配置gradle文件,这些按照基本流程走,按照下面基本的配置可以得到打包得到三个对应的版本,id 根据你自己的需要设置是否可以同时在一个手机上运行多个自己的app。







以上过程完成了开始提到的需求,具体实现代码起来很简单,以此类推,资源文件等也可以通过以上方式。



文/小安学开发(简书作者)
原文链接:http://www.jianshu.com/p/81eff804d1b8
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值