android切换域名,android通过gradle切换域名,替换app的String资源(修改app名称,图标)
apply plugin: 'com.android.application'
android {
//DOMAIN
def API_RELEASE_DOMAIN = "\"正式环境\""
//正式环境
def API_RELEASE = "\"https://正式环境\""
//DOMAIN
def API_TEST_DOMAIN = "\"测试环境\""
//测试环境
def API_TEST = "\"http://测试环境\""
//DOMAIN
//预发环境
def API_PRE_RELEASE = "\"https://预发环境\""
def API_PRE_RELEASE_DOMAIN = "\"预发环境\""
//开发环境DOMAIN
def API_DEV_DOMAIN = "\"开发环境\""
//开发环境
def API_DEV_HOST = "\"http://开发环境\""
compileSdkVersion 25
buildToolsVersion '26.0.2'
//23 编译版本需要添加这句话,低于23 不需要
useLibrary 'org.apache.http.legacy'
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
defaultConfig {
multiDexEnabled true
applicationId "com.a1chemic.promotion.android"
minSdkVersion 12
targetSdkVersion 23
versionCode 201
versionName "2.0.1"
buildConfigField("String", "API_HOST", "${API_DEV_HOST}")
buildConfigField("String", "API_DOMAN", "${API_DEV_DOMAIN}")
ndk {
abiFilters "armeabi", "x86", "mips"
}
}
dexOptions {
javaMaxHeapSize "4g"
}
aaptOptions {
cruncherEnabled = false
useNewCruncher = false
}
lintOptions {
checkReleaseBuilds false
abortOnError false
}
signingConfigs {
release {
v1SigningEnabled true
v2SigningEnabled true
}
}
loadSigningConfigs()
buildTypes {
//开发 自己用的
debug {
buildConfigField "String", "API_HOST", "${API_DEV_HOST}"//API Host
buildConfigField "String", "API_DOMAN", "${API_DEV_DOMAIN}"//测试地址
buildConfigField "boolean", "SING_DEBUG", "true"
buildConfigField "boolean", "DEBUGINFO", "true"
resValue "string", "AppName", "应用开发板"
}
//测试 显示调试
debugTest {
signingConfig signingConfigs.release
buildConfigField "String", "API_HOST", "${API_TEST}"//API Host
buildConfigField "String", "API_DOMAN", "${API_TEST_DOMAIN}"//测试地址
buildConfigField "boolean", "SING_DEBUG", "true"
buildConfigField "boolean", "DEBUGINFO", "true"
matchingFallbacks = ['debug']
resValue "string", "AppName", "应用测试版"
}
//预上线 显示调试
preRelease {
signingConfig signingConfigs.release
buildConfigField "String", "API_HOST", "${API_PRE_RELEASE}"//预上线 API Host
buildConfigField "String", "API_DOMAN", "${API_PRE_RELEASE_DOMAIN}"//预上线
buildConfigField "boolean", "SING_DEBUG", "false"
buildConfigField "boolean", "DEBUGINFO", "true"
matchingFallbacks = ['debug']
resValue "string", "AppName", "应用预览版"
}
//正式 有调试信息
releasePE {
minifyEnabled false
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField "String", "API_HOST", "${API_RELEASE}"//API Host
buildConfigField "String", "API_DOMAN", "${API_RELEASE_DOMAIN}"//正式地址
buildConfigField "boolean", "SING_DEBUG", "false"
buildConfigField "boolean", "DEBUGINFO", "true"
matchingFallbacks = ['release']
resValue "string", "AppName", "应用名称"
}
//预上线Demo 无调试信息
preReleaseDemo {
signingConfig signingConfigs.release
buildConfigField "String", "API_HOST", "${API_PRE_RELEASE}"//预上线 API Host
buildConfigField "String", "API_DOMAN", "${API_PRE_RELEASE_DOMAIN}"//预上线
buildConfigField "boolean", "SING_DEBUG", "false"
buildConfigField "boolean", "DEBUGINFO", "false"
matchingFallbacks = ['release']
resValue "string", "AppName", "应用预览版"
}
//正式 无调试信息
release {
debuggable false
minifyEnabled false //启用Proguard --正常应该是true
shrinkResources false //是否清理无用资源,依赖于minifyEnabled
zipAlignEnabled true //是否启用zipAlign压缩
minifyEnabled false
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField "String", "API_HOST", "${API_RELEASE}"//
buildConfigField "String", "API_DOMAN", "${API_RELEASE_DOMAIN}"//
buildConfigField "boolean", "SING_DEBUG", "false"
buildConfigField "boolean", "DEBUGINFO", "false"
resValue "string", "AppName", "正式名称"
}
}
sourceSets {
main {
jniLibs.srcDir 'libs'
//说明so的路径为该libs路径,关联所有地图SDK的so文件
manifest.srcFile 'src/main/AndroidManifest.xml'
java.srcDirs = ['src/main/java']
resources.srcDirs = ['src/main/resources']
res.srcDirs = ['src/main/res']
assets.srcDirs = ['src/main/assets']
}
vivo.res.srcDirs = ['src/main/res-vivo']
}
flavorDimensions "default"
productFlavors {
main { dimension "default" }
// vivo { dimension "default" } //vivo
// baidu { dimension "default" } //百度
// tencent { dimension "default" } //应用宝
// xiaomi { dimension "default" } //小米
// qh360 { dimension "default" } //360
// huawei { dimension "default" } //华为
// wandoujia { dimension "default" } //豌豆荚
// vivo { dimension "default" } //vivo
// oppo { dimension "default" } //oppo
// meizu { dimension "default" } //魅族
}
productFlavors.all {
flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
applicationVariants.all { variant ->
if (variant.buildType.name != "debug") {//防止AS无法安装debug包(apk)
variant.getPackageApplication().outputDirectory = new File(project.rootDir.absolutePath + "/app/build/outputs/apk/main")
}
variant.outputs.all { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
// 输出apk名称为com_biniusports_app_bnsports_v1.0.0_20171205_baidu.apk
def fileName = "应用_${variant.buildType.name}_V${defaultConfig.versionName}_${getNowTime()}_${variant.productFlavors[0].name}.apk"
outputFileName = fileName
}
}
}
}
//获取时间戳
def getNowTime() {
def date = new Date()
def now = date.format('yyyyMMdd')
return now
}
/** * 加载签名配置文件 */
def loadSigningConfigs() {
Properties props = new Properties()
def propFile = file('../signing.properties')
if (propFile.canRead()) {
props.load(new FileInputStream(propFile))
//发布版本的签名配置
android.signingConfigs.release.storeFile = file(props['KEYSTORE_FILE'])
android.signingConfigs.release.storePassword = props['KEYSTORE_PWD']
android.signingConfigs.release.keyAlias = props['KEY_ALIAS']
android.signingConfigs.release.keyPassword = props['KEY_PWD']
/* //调试版本的签名配置 android.signingConfigs.debug.storeFile = file(props['DEBUG_KEYSTORE']) android.signingConfigs.debug.storePassword = props['DEBUG_KEYSTORE_PWD'] android.signingConfigs.debug.keyAlias = props['DEBUG_ALIAS'] android.signingConfigs.debug.keyPassword = props['DEBUG_KEY_PWD']*/
}
}
dependencies {
compile 'com.android.support:multidex:1.0.1'
compile files('libs/android-support-v7-recyclerview.jar')
}
android切换域名,android通过gradle切换域名,替换app的String资源(修改app名称,图标)相关推荐
- 【Android开发】Android入门安装与使用教程——以Android Studio3.6.1为例
[Android开发]Android入门教程--以Android Studio3.6.1为例 1.为什么要学习Android 2.学习资源 3.安装Android Studio 3.1 下载安装包 3 ...
- android夜间切换失败,Android夜间模式切换记录
使用AndroidSDK自带的support lib来实现APP日间/夜间模式的切换 添加依赖包appcompat-v7 在app module的gradle中依赖appcompat库,版本最低是23 ...
- Android中的底部导航栏切换TabContainerView
前言:在GitHub上看到一个框架,实现底部导航栏切换,感觉不错,就在这里总结一下. 参考:https://www.jianshu.com/p/9aaff43bbf9f https://github. ...
- android高级组件,Android高级组件ImageSwitcher图像切换器使用方法详解
图像切换器(ImageSwitcher),用于实现类似于Windows操作系统的"Windows照片查看器"中的上一张.下一张切换图片的功能.在使用ImageSwitcher时,必 ...
- android切换字体颜色,Android开发实现按钮点击切换背景并修改文字颜色的方法
本文实例讲述了Android开发实现按钮点击切换背景并修改文字颜色的方法.分享给大家供大家参考,具体如下: 其实原理很简单,用到的是selector,用来设置android:background和an ...
- Android的Activity屏幕切换动画(一)-左右滑动切换
为什么80%的码农都做不了架构师?>>> 这段时间一直在忙Android的项目,总算抽出点时间休息一下,准备把一些项目用到的Android经验分享一下. 在Android开发过 ...
- android仿微信的activity平滑水平切换动画,Android实现简单底部导航栏 Android仿微信滑动切换效果...
Android实现简单底部导航栏 Android仿微信滑动切换效果 发布时间:2020-10-09 19:48:00 来源:脚本之家 阅读:96 作者:丶白泽 Android仿微信滑动切换最终实现效果 ...
- Android学习笔记26:图片切换控件ImageSwitcher的使用
在Windows操作系统中,要查看多张图片,可以通过使用"Windows照片查看器"在"上一张"和"下一张"之间切换,进行多张图片的浏览. ...
- Android activity之间的滑入切换
Android activity之间的滑入切换 主activity(SlidChangeActivity): public classSlidChangeActiviry extends Activ ...
最新文章
- yolo_model to output理解
- SAP UI5 确保控件 id 全局唯一的实现方法
- HDOJ5547 SudoKu
- Launcher结构之home screen
- 北航院系和数字的对应关系
- css如何让动作有先后,css3动作
- 如何判断一个数为无符号数还是有符号数
- Java——常用类(String)
- EfficientDet 论文记录
- SSM框架整合以及使用思路梳理
- 测试要找苹果机型,哪里有?
- 计算机动画题目,3DMax2014计算机动画作业练习题
- 工程地质计算机应用百度云,工程地质计算机应用
- 6 AI系统的伦理道德风险之道德判断的验证
- python画简单的图形(结构,循环)
- node.js代码总结
- 指针、函数、指针函数和函数指针
- FM ALV和OO ALV的区别
- 200所高校男女比例排行榜,脱单还有望吗?
- 数学思想——1.SEIR模型