Gradle详解
2018-06-07 本文已影响10人
Il_mondo
结构
project
|---gradle
|---wrapper
|---gradle-warpper.properties
|---module
|---builde.gradle
|---builde.gradle
|---settings.gradle
构建项目
android {
buildTypes {
debug {
minifyEnabled true // 启用混淆
shrinkResources true // 资源压缩
proguardFiles ... // 混淆文件
buildConfigField 'type', 'field name' , 'field value'
resValue 'type', 'name', 'value'
}
...
}
}
多渠道打包
android {
productFlavors {
xiaomi {
// 指定包名
applicationId 'com.packageName..'
buildConfigField 'type', 'field name' , 'field value'
// 指定资源
java.srcDirs = ['...']
res.srcDirs = ['...']
assets.srcDirs = ['...']
manifestPlaceholders = [
// 占位符
]
}
...
}
}
自动签名
signingConfigs {
debug {
keyAlias '...'
keyPassword '...'
storeFile file("../name.jks")
storePassword '...'
}
release {
// ...
}
}
常见配置
dexOptions { javaMaxHeapSize "..." }
// 指定 java 版本
android {
compileOptions {
sourceCompatibility = "1.7" //JavaVersion.VERSION_1_7
targetCompatibility = "1.7" //JavaVersion.VERSION_1_7
}
}
// Lint 检查控制
lintOptions {
abortOnError false
}
参考文献
[1] Google. Android Plugin DSL Reference[M]
[2] DevSiven. Gradle For Android : 1-5