标签:
build.gradle
buildscript { //设置脚本的运行环境 repositories {//支持java 依赖库管理(maven),用于项目的依赖 mavenCentral() } dependencies {//依赖包的定义。支持maven/ivy,远程,本地库,也支持单文件,如果前面定义了repositories{}
maven 库,使用maven的依赖 //的时候只需要按照用类似于com.android.tools.build:gradle:2.1
,gradle 就会自动的往远程库下载相应的依赖,就是给studio制定gradle 版本 classpath ‘com.android.tools.build:gradle:2.1.0‘ } } apply plugin: ‘android‘//声明构建的项目类型 android {//设置编译android项目的参数 compileSdkVersion 17 } 在项目的build.gradle中能使用到下面这些对于多渠道包,android 插件提供了一个名为apply plugin: ‘com.android.application‘//说明module的类型,com.android.application为程序,com.android.library为库
android {
compileSdkVersion 22//编译的SDK版本
buildToolsVersion "22.0.1"//编译的Tools版本
defaultConfig {//默认配置
applicationId "com.ding.app"//应用程序的包名
minSdkVersion 8//支持的最低版本
targetSdkVersion 19//支持的目标版本
versionCode 52//版本号
versionName "3.0.1"//版本名
}
sourceSets {//目录指向配置
main {
manifest.srcFile ‘AndroidManifest.xml‘//指定AndroidManifest文件
java.srcDirs = [‘src‘]//指定source目录
resources.srcDirs = [‘src‘]//指定source目录
aidl.srcDirs = [‘src‘]//指定source目录
renderscript.srcDirs = [‘src‘]//指定source目录
res.srcDirs = [‘res‘]//指定资源目录
assets.srcDirs = [‘assets‘]//指定assets目录
jniLibs.srcDirs = [‘libs‘]//指定lib库目录
}
debug.setRoot(‘build-types/debug‘)//指定debug模式的路径
release.setRoot(‘build-types/release‘)//指定release模式的路径
}
signingConfigs {//签名配置
release {//发布版签名配置
storeFile file("fk.keystore")//密钥文件路径
storePassword "123"//密钥文件密码
keyAlias "fk"//key别名
keyPassword "123"//key密码
}
debug {//debug版签名配置
storeFile file("fk.keystore")
storePassword "123"
keyAlias "fk"
keyPassword "123"
}
}
buildTypes {//build类型
release {//发布
minifyEnabled true//混淆开启
proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-project.txt‘//指定混淆规则文件
signingConfig signingConfigs.release//设置签名信息
}
debug {//调试
signingConfig signingConfigs.release
}
}
packagingOptions {
exclude ‘META-INF/ASL2.0‘
exclude ‘META-INF/LICENSE‘
exclude ‘META-INF/NOTICE‘
exclude ‘META-INF/MANIFEST.MF‘
}
lintOptions {
abortOnError false//lint时候终止错误上报,防止编译的时候莫名的失败
}
}
dependencies {
compile fileTree(dir: ‘libs‘, exclude: [‘android-support*.jar‘], include: [‘*.jar‘]) //项目文件依赖--(本地依赖)编译lib目录下的.jar文件
compile project(‘:Easylink‘)//编译附加的项目
compile ‘com.nostra13.universalimageloader:universal-image-loader:1.9.3‘//编译来自Jcenter的第三方开源库
}
多渠道打包
Product Flavor{}
的配置,用于进行多渠道打包。productFlavors { playstore { packageName=‘com.ding.app.playstore‘ } hiapk { packageName=‘com.ding.app.hiapk } }这种是在渠道不同并且需要包名不同的情形下使用。
如果在使用友盟,百度,或者360渠道时,需要在AndroidManifest.xml中加入他们sdk需要加入的一些配置项。这时就需要几个AndroidManifest.xml来区分不同的渠道。 所以在项目的build.gradle中的sourceSets做一下配置sourceSets { main { manifest.srcFile ‘AndroidManifest.xml‘ java.srcDirs = [‘src‘] resources.srcDirs = [‘src‘] aidl.srcDirs = [‘src‘] renderscript.srcDirs = [‘src‘] res.srcDirs = [‘res‘] assets.srcDirs = [‘assets‘] } hiapk { manifest.srcFile ‘hiapk/AndroidManifest.xml‘ } playstore { manifest.srcFile ‘playstore /AndroidManifest.xml‘} instrumentTest.setRoot(‘tests‘) }
这样就可以搞定了。
android Studio 使用gradle 参数解释及多渠道打包
标签:
原文地址:http://blog.csdn.net/u012545354/article/details/51351445