赞
踩
(配置好的gradle 可直接copy,方便开发)
- def AppPackageName = "com.example.xurunjie.mimi" /** 包名:必须改当前包名 */
- def AppSigningKey = "./example" /** APK 签名key文件目录 */
- def StorePassword = "111111" /** APK 签名key密码(第一重密码) */
- def KeyAlias = "example" /** APK 签名key别名 */
- def KeyPassword = "111111" /** APK 签名key别名密码(第二重密码) */
-
- // 声明是Android程序
- apply plugin: 'com.android.application'
-
- android {
- // 编译SDK的版本
- compileSdkVersion 23
- // build tools的版本
- buildToolsVersion "23.0.2"
-
- defaultConfig {
- // 应用的包名
- applicationId AppPackageName
- minSdkVersion 15
- targetSdkVersion 23
- versionCode 1
- versionName "1.0"
- }
- /**
- * 签名设置
- */
- signingConfigs {
- release {//发布版签名配置
- storeFile file(AppSigningKey)//密钥文件路径
- storePassword StorePassword//密钥文件密码
- keyAlias KeyAlias//key别名
- keyPassword KeyPassword//key密码
- }
- debug {//debug版签名配置
- storeFile file(AppSigningKey)//密钥文件路径
- storePassword StorePassword//密钥文件密码
- keyAlias KeyAlias//key别名
- keyPassword KeyPassword//key密码
- }
- }
- /**
- * 混淆设置
- */
- buildTypes {
- release {
- signingConfig signingConfigs.release//设置签名信息
- minifyEnabled false
- shrinkResources true
-
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
- }
- debug {
- signingConfig signingConfigs.debug
- minifyEnabled false
- }
- }
- //这个是解决lint报错的代码
- lintOptions {
- checkReleaseBuilds false
- // Or, if you prefer, you can continue to check for errors in release builds,
- // but continue the build even when errors are found:
- abortOnError false
- }
- /**
- * 这个APP运行的环境是在SDK API 15,如果你改为19或者更高是会报错的。添加如下代码
- */
- packagingOptions {
- exclude 'META-INF/LICENSE.txt'
- exclude 'META-INF/NOTICE.txt'
- }
- /**
- * 替换AndroidManifest.xml的UMENG_CHANNEL_VALUE字符串为渠道名称 0.14.0版本以上
- */
- productFlavors.all { flavor ->
- flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
- }
-
- /**
- * 渠道打包(不同包名)
- */
- productFlavors {
- // QQ2_market {}
- }
-
- applicationVariants.all { variant ->
- variant.outputs.each { output ->
- def tempName = "";
- def apkName = "****"
- def outputFile = output.outputFile
- def channel = variant.productFlavors[0].name
- def versionName = "${defaultConfig.versionName}"
-
- println channel
- println "*****************\n"
- /*if(channel.contains("pre")){
- channel = channel.replaceAll("pre", "")
- }*/
-
- tempName = "_" + channel
- println "*****************\n"
- println "buildType.name = " + variant.buildType.name
- println "*****************\n"
-
- if (outputFile != null && outputFile.name.endsWith('.apk')) {
- if (variant.buildType.name == "release") {
- //此处将apk保存到指定目录,按照版本号做子文件夹 命名规则是apkName_Xiaomi_V4.4.2.apk
- apkName += tempName + "_v" + versionName + ".apk";
- output.outputFile = file("/Users/xurunjie/Documents/output" + versionName + "/" + apkName)
- }
- }
- }
- }
- 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库目录,so导入
- }
- debug.setRoot('build-types/debug')//指定debug模式的路径
- release.setRoot('build-types/release')//指定release模式的路径
- }
-
- }
-
- dependencies {
- // 编译libs目录下的所有jar包
- compile fileTree(dir: 'libs', include: ['*.jar'])
- compile 'com.android.support:appcompat-v7:23.2.0'
- compile 'com.jakewharton:butterknife:7.0.1'
- }
补充摘自:http://stormzhang.com/devtools/2014/12/18/android-studio-tutorial4/
其实很早之前也写了一篇Gradle的基础博客,但是时间很久了,现在Gradle已经更新了很多,所以暂且结合Stduio 1.0正式版与最新的Gradle语法来详细讲解下,小伙伴们直接跟我一步步来学习吧。
什么是Gradle?
Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。
安装Gradle
在
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。