您的位置:首页 > 产品设计 > UI/UE

android studio build.gradle配置文件详解

2017-04-25 00:00 661 查看
import java.text.SimpleDateFormat

apply plugin: 'com.android.application'
//统计方法数
//apply plugin: 'com.getkeepsafe.dexcount'
android {
compileSdkVersion 25
buildToolsVersion "25.0.1"
defaultConfig {
applicationId "com.dsm.secondlock"
minSdkVersion 18
targetSdkVersion 25
/*
整数值,代表应用程序代码的相对版本,也就是版本更新过多少次。
整数值有利于其它程序比较,检查是升级还是降级。
你可以把这个值设定为任何想设的值,但是,你必须保证后续更新版的值要比这个大。
系统不会强制要求这一行为,但是随着版本更新值也增加是正常的行为。
一般来说,你发布的第一版程序的versionCode设定为1,然后每次发布都会相应增加,
不管发布的内容是较大还是较小的。这意味着android:versionCode不像应用程序的发布版本(看下面的
android:versionName)那样显示给用户。应用程序和发布的服务不应该显示这个版本值给用户。
*/
versionCode 10
/*
字符串值,代表应用程序的版本信息,需要显示给用户。
与android:versionCode一样,系统不会为了任何内部的目的使用这个值,除了显示给用户外。
发布的服务也需要提取这个值来显示给用户。
*/
versionName "v3.0.3"
multiDexEnabled true
manifestPlaceholders = [
GETUI_APP_ID    : "woyGEtbGqg5ipVQIxLkkrA",
GETUI_APP_KEY   : "2I90eUGtr56t4mTKXeNDxA",
GETUI_APP_SECRET: "cGOCCeNEKx932WF90OiEG"
]

ndk {
//目前发现一个奇怪的现象,如果不添加arm64-v8a平台,在iMac (21.5-inch, Late 2013)电脑上,魅族M571C无法加载猫眼so库,但是在其他电脑上却没有这个问题,疑问????
abiFilters "armeabi", "armeabi-v7a", "x86_64"
//            abiFilters "armeabi-v7a"
}
buildConfigField "String", "APP_PUBLISH_TIME", String.format("\"%s\"", new SimpleDateFormat("yyyyMMdd HH:mm:ss", Locale.US).format(new Date()))
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
signingConfigs {
debug {
storeFile file("$projectDir/xiaodi.keystore")
storePassword "xiaodi"
keyAlias "xiaodi"
keyPassword "xiaodi"
}
release {
storeFile file("$projectDir/xiaodi.keystore")
storePassword "xiaodi"
keyAlias "xiaodi"
keyPassword "xiaodi"
}
}
buildTypes {
debug {
buildConfigField "boolean", "LOG_DEBUG", "true"
//proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.debug
}

release {
buildConfigField "boolean", "LOG_DEBUG", "false"
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
//            signingConfig signingConfigs.debug
}
}
dexOptions {//dex配置
javaMaxHeapSize "4g"
preDexLibraries = false
additionalParameters = [//dex参数详见 dx --help
'--multi-dex',//多分包
'--set-max-idx-number=48000',//每个包内方法数上限
'--main-dex-list=' + project.rootDir.absolutePath + '/app/maindexlist.txt',//打包进主classes.dex的文件列表(放在build.gradle同级目录)
'--minimal-main-dex'//使上一句生效
]
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
productFlavors {
defaultConfig{//开发服
buildConfigField "String", "INTERFACE_SERVER", String.format("\"%s\"","https://192.168.1.186:443")
buildConfigField "String", "HTML_
3ff0
SERVER", String.format("\"%s\"","http://192.168.1.186:8080")
manifestPlaceholders = [UMENG_APPKEY    : "581a8f8482b63519a600391b"]
}
flavor_D {//测试服
buildConfigField "String", "INTERFACE_SERVER", String.format("\"%s\"","https://192.168.1.186:4437")
buildConfigField "String", "HTML_SERVER", String.format("\"%s\"","http://192.168.1.186:8899")
manifestPlaceholders = [UMENG_APPKEY    : "581a8f8482b63519a600391b"]
}
flavor_O {//正式服
buildConfigField "String", "INTERFACE_SERVER", String.format("\"%s\"","https://xiaodi.dsmzg.com:443")
buildConfigField "String", "HTML_SERVER", String.format("\"%s\"","http://dsmzg.com:8080")
manifestPlaceholders = [UMENG_APPKEY    : "5819a369f43e4848eb0017b5"]
}
}
}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile files('libs/SocialSDK_sms.jar')
compile files('libs/SocialSDK_WeChat_Simplify.jar')
compile files('libs/umeng_social_api.jar')
compile files('libs/umeng_social_net.jar')
compile files('libs/base64-2.3.8.jar')
compile files('libs/commons-lang3-3.1.jar')
compile files('libs/EquesSdkApp-out.jar')
compile project(':zxinglibrary')
compile project(':xiaodihomelibrary')
compile 'com.android.support:multidex:1.0.1'
compile 'com.android.support:cardview-v7:25.1.0'
compile 'com.android.support:design:25.1.0'
compile 'com.getui:sdk:2.9.5.0'
compile 'com.umeng.analytics:analytics:latest.integration'
compile 'com.android.support:support-v4:25.1.0'
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android Studio gradle