apply plugin: ‘com.android.application’
apply plugin: ‘com.droidtitan.lintcleaner’
def releaseTime() {
return new Date().format(“yyyy-MM-dd”, TimeZone.getTimeZone(“UTC”))
}
def vCode() {
return new Date().format(“yyyyMMdd”, TimeZone.getTimeZone(“UTC”))
}
android {
compileSdkVersion 22
buildToolsVersion “22.0.1”
defaultConfig {
applicationId "com.beiyi.bestdoctor"
minSdkVersion 10
targetSdkVersion 22
// versionCode 1
versionCode Integer.valueOf(vCode())
versionName “1.0”
}
//是否lint 检查
lintOptions {
abortOnError false
}
//用来清除无用资源的插件,详见https://github.com/marcoRS/lint-cleaner-plugin
lintCleaner {
// Ability to ignore all resource files. False by default.
ignoreResFiles = true
// Default path is build/outputs/lint-results.xml
lintXmlFilePath = ‘path/to/lint-results.xml’
}
//将打包后的文件复制到build目录下,这样就不用深入到apk目录,同时还看不到unaligned的apk了
task copyTask(type: Copy) {
from ‘build/outputs/apk/’
into ‘build/’
exclude ‘*-unaligned.apk’
}
//打包命令 在Terminal窗口下 命令gradlew bd debug打包和release 打包
task bd(dependsOn: [‘assembleDebug’, ‘assembleRelease’, ‘copyTask’]) {
copyTask.mustRunAfter assembleRelease
}
//在Terminal窗口下 只打debug 包
task bd1(dependsOn: [‘assembleDebug’, ‘copyTask’]) {
copyTask.mustRunAfter assembleRelease
}
//在Terminal窗口下 只打Release包
task bd2(dependsOn: [‘assembleRelease’, ‘copyTask’]) {
copyTask.mustRunAfter assembleRelease
}
//签名 配置
signingConfigs {
apply plugin: ‘signing’
release {
storeFile file(“../xxx”)
storePassword “xx”
keyAlias “xxx”
keyPassword “xxx”
}
}
//是否混淆
buildTypes {
//debug 版本
debug {
buildConfigField "boolean", "LOG_DEBUG", "true"
signingConfig signingConfigs.release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
//正式版
release {
buildConfigField "boolean", "LOG_DEBUG", "false"
zipAlignEnabled true
// 移除无用的resource文件
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release // 打包 签名
//将release版本的包名重命名,加上版本及日期
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('release.apk')) {
def fileName = "${variant.productFlavors[0].name}_V${defaultConfig.versionName}_${releaseTime()}.apk"
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
}
}
//多个版本的打包配置
productFlavors {
// baidu {}
// wandoujia {}
}
productFlavors.all {
flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
}
//引用包
dependencies {
compile fileTree(dir: ‘libs’, include: [‘*.jar’])
//jar包
compile files(‘libs/com.umeng.fb.5.4.0.jar’)
//第三方lib
compile project(':pickerview')
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.4'
compile 'com.google.code.gson:gson:2.3.1'
compile 'com.jakewharton:butterknife:7.0.1'
compile 'com.android.support:support-v4:22.2.1'
}