buildscript {
//设置仓库地址
repositories {
//如果使用maven中央仓库mavenCentral()
//自定义maven仓库地址
/*
* maven {
* url "http://maven.petrikainulainen.net/repo"
*}
*/
//推荐Android工程采用jcenter,java工程采用maven仓库
jcenter()
}
//设置gradle版本,不是app应用依赖,
dependencies {
//如果出现版本不一致问题,可以这么写:
//classpath 'com.android.tools.build:gradle:1.2.+'
classpath 'com.android.tools.build:gradle:1.2.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
//有时候,我们的代码使用utf-8 保存的,但是,进行gradle build 的环境是gbk这类的,这时候会包如下错误:
//编码GBK的不可映射字符.这个时候我们就需要手动的设置编译时编码类型.
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
}
//apply plugin: 'android'
//apply plugin: 'android-library'
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
//为避免引入第三方库是报错,排除可能重复的license文件
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
defaultConfig {
applicationId "net.xbynet.setwallpaper"
minSdkVersion 14
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
//构建类型,可以构造如release版本或者debug版本或者多渠道打包等
buildTypes {
release {
minifyEnabled false
//下面为proguard文件配置
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
minifyEnabled true
zipAlignEnabled true
// 移除无用的resource文件
shrinkResources true
signingConfig signingConfigs.release
}
hiapk {
packageNameSuffix ".hiapk"
}
playstore {
packageNameSuffix ".playstore"
}
}
// 多渠道打包,以友盟为例,当然在manifest文件中存在一个placeHolder
/**
* <meta-data
* android:name="UMENG_CHANNEL"
* android:value="${UMENG_CHANNEL_VALUE}" />
*/
/*
*也可以采用这种方式
* productFlavors {
* xiaomi {
* manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
* }
* _360 {
* manifestPlaceholders = [UMENG_CHANNEL_VALUE: "_360"]
* }
* baidu {
* manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
* }
* wandoujia {
* manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
* }
*}
*/
productFlavors {
wandoujia {}
_360 {}
baidu {}
xiaomi {}
}
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
}
//签名相关
signingConfigs {
debug {
// No debug config
}
release {
// 不显示Log
buildConfigField "boolean", "LOG_DEBUG", "false"
storeFile file("../yourapp.keystore")
storePassword "your password"
keyAlias "your alias"
keyPassword "your password"
}
}
}
//依赖设置,不属于android子元素。
dependencies {
//注释掉下面一句,因为这会引起android.support-v4出现多个的问题。
//compile fileTree(dir: 'libs', include: '*.jar')
//取而代之采用如下形式:在maven仓库下groupId则不同为com.google.android
compile 'com.android.support:appcompat-v7:22.0.0'
compile files('libs/eventbus-2.4.0.jar') //依赖于本地工程libs目录下的eventbus-2.4.0.jar
compile 'com.android.support:appcompat-v7:22.0.0' //从maven中央库下载依赖
provided 'org.roboguice:roboblender:3.0' //从maven中央库下载依赖
compile 'org.roboguice:roboguice:3.0' //从maven中央库下载依赖
compile project(':libraries:lib1') //依赖于某个项目
}
原文:http://blog.csdn.net/xbynet/article/details/45501311