Android studio 使用Grandle进行分渠道打包
来源:互联网 发布:数据移植测试 编辑:程序博客网 时间:2024/05/21 10:07
前言:
使用工具:AndroidStudio
适用场景:打包时自动识别生产环境和测试环境的不同的地址
了解知识:Grandle的使用语言Groovy
1:配置地址文件(ps:debug:测试环境(线下);release:生产环境(线上))
debug下:www.baidu.com
release下:www.google.com SERVER2 = "http://www.baidu.com"
IMAGEREQUEST = "http://www.aaa.com:端口号"
WEB = "http://dev.xxx.com:端口号"
statistical = "https://dev.aaa.com:端口号/android/"
2:配置build.grandle文件(该文件路径是:app/build.grandle)
2-1:自定义方法获取地址: 定义变量类型(String) 变量名称(SERVER2) 获取变量值的方法getSERVER2('release/debug') (release/debug:代表在app下创建的文件目录)
buildTypes{
release{
minifyEnabledtrue//开启混淆
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
// 加载混淆配置文件
buildConfigField'String','SERVER2', getSERVER2('release')
buildConfigField'String','IMAGEREQUEST', getIMAGEREQUEST('release')
buildConfigField'String','WEB', getWEB('release')
buildConfigField'String','statistical', getstatistical('release')
signingConfig signingConfigs.releaseConfig
}
debug{
buildConfigField'String','SERVER2', getSERVER2('debug')
buildConfigField'String','IMAGEREQUEST', getIMAGEREQUEST('debug')
buildConfigField'String','WEB', getWEB('debug')
buildConfigField'String','statistical', getstatistical('debug')
signingConfig signingConfigs.debugConfig
}
}
2-2:自定义方法,读取properties文件获取地址(简单的例子,如果有多个可以进行添加多个,但是2-1中的位置还需要再次添加一个方法) 注意自己定义的文件路径地址是否正确
// 获取配置文件内容的地址
def getSERVER2(String str) {
def SERVER2
def Properties properties = new Properties()
def proFile = file('src/main/filters/' + str + '/config.properties') // 配置文件地址的路径
if (proFile.canRead()) { // 读取
properties.load(new FileInputStream(proFile)) // 加载
if (properties != null) {
SERVER2 = properties['SERVER2'] // 赋值
}
}
SERVER2
}
def getIMAGEREQUEST(String str) {
def IMAGEREQUEST
def Properties properties = new Properties()
def proFile = file('src/main/filters/' + str + '/config.properties')
if (proFile.canRead()) {
properties.load(new FileInputStream(proFile))
if (properties != null) {
IMAGEREQUEST = properties['IMAGEREQUEST']
}
}
IMAGEREQUEST
}
3:调用地址 3-1:在java代码中调用BuildConfig . 变量名称
buildConfig的产出路径(编译后自动生成的文件)
debug下SERVER2获取到的是:www.baidu.com release下SERVER2获取到的是:www.google.com
4:其他 选择编译类型,在AndroidStudio的左侧有一个Build Variants 选中项目右侧显示要打包的场景(debug/release)
`
5:备注至于好处就不多说了,实战看效果,就一目了然了!
debug下:www.baidu.com
release下:www.google.com
SERVER2 = "http://www.baidu.com"
IMAGEREQUEST = "http://www.aaa.com:端口号"
WEB = "http://dev.xxx.com:端口号"
statistical = "https://dev.aaa.com:端口号/android/"
2:配置build.grandle文件(该文件路径是:app/build.grandle)
2-1:自定义方法获取地址: 定义变量类型(String) 变量名称(SERVER2) 获取变量值的方法getSERVER2('release/debug')
(release/debug:代表在app下创建的文件目录)
buildTypes{
release{
minifyEnabledtrue//开启混淆
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
// 加载混淆配置文件
buildConfigField'String','SERVER2', getSERVER2('release')
buildConfigField'String','IMAGEREQUEST', getIMAGEREQUEST('release')
buildConfigField'String','WEB', getWEB('release')
buildConfigField'String','statistical', getstatistical('release')
signingConfig signingConfigs.releaseConfig
}
debug{
buildConfigField'String','SERVER2', getSERVER2('debug')
buildConfigField'String','IMAGEREQUEST', getIMAGEREQUEST('debug')
buildConfigField'String','WEB', getWEB('debug')
buildConfigField'String','statistical', getstatistical('debug')
signingConfig signingConfigs.debugConfig
}
}
2-2:自定义方法,读取properties文件获取地址(简单的例子,如果有多个可以进行添加多个,但是2-1中的位置还需要再次添加一个方法)
注意自己定义的文件路径地址是否正确
// 获取配置文件内容的地址
def getSERVER2(String str) {
def SERVER2
def Properties properties = new Properties()
def proFile = file('src/main/filters/' + str + '/config.properties') // 配置文件地址的路径
if (proFile.canRead()) { // 读取
properties.load(new FileInputStream(proFile)) // 加载
if (properties != null) {
SERVER2 = properties['SERVER2'] // 赋值
}
}
SERVER2
}
def getIMAGEREQUEST(String str) {
def IMAGEREQUEST
def Properties properties = new Properties()
def proFile = file('src/main/filters/' + str + '/config.properties')
if (proFile.canRead()) {
properties.load(new FileInputStream(proFile))
if (properties != null) {
IMAGEREQUEST = properties['IMAGEREQUEST']
}
}
IMAGEREQUEST
}
3:调用地址
3-1:在java代码中调用BuildConfig . 变量名称
buildConfig的产出路径(编译后自动生成的文件)
debug下SERVER2获取到的是:www.baidu.com
release下SERVER2获取到的是:www.google.com
4:其他
选择编译类型,在AndroidStudio的左侧有一个Build Variants
选中项目右侧显示要打包的场景(debug/release)
`
5:备注
至于好处就不多说了,实战看效果,就一目了然了!
0 0
- Android studio 使用Grandle进行分渠道打包
- studio grandle渠道打包
- Android Studio分渠道打包
- android studio grandle多渠道打包
- Android使用友盟进行分渠道打包和统计
- Android分渠道打包
- Android studio 代码混淆、分渠道打包和反编译
- Android studio grandle信息
- Android Studio 之 Grandle
- Android 分渠道打包原理
- android studio 不同渠道打包
- Android studio之多渠道打包
- 在服务器上使用grandle打包android源码
- android build文件分渠道打包
- 使用anysdk打包android渠道
- Android Studio 渠道打包 小试
- 分渠道打包
- Android Studio使用Gradle进行多渠道打包
- c中的“:”
- openwrt添加usb storage支持
- WebStorm快捷键操作
- iOS 下APNS推送处理函数详解
- swift 搜索框(UISearchBar)实现简单的搜索功能(swift3)
- Android studio 使用Grandle进行分渠道打包
- spring-mvc整合jquery cropper图片裁剪插件
- C语言直接对数据加密解密
- Error:(142, 34) java: -source 1.6 中不支持 multi-catch 语句 (请使用 -source 7 或更高版本以启用 multi-catch 语句)
- 简单的动画
- Cobertura的使用
- Java:如何直接创建内部类对象
- Android.mk覆盖替换LOCAL_OVERRIDES_PACKAGES
- ALSM_EXCEL_TO_INTERNAL_TABLE 多sheet 操作