Android Gradle的详细示例教程

Gradle相关博文:
1. Groovy脚本基础全攻略:http://blog.csdn.net/yanbober/article/details/49047515
2. Gradle脚本基础全攻略:http://blog.csdn.net/yanbober/article/details/49314255

Module的gradle配置文件

// 声明是Android程序
apply plugin: 'com.android.application'
//预定义
def buildTime() {

    def date = new Date()

    def formattedDate = date.format('yyyyMMdd')
    return formattedDate
}
def TYPE_STRING = "String"
def CONFIG_FILE = "CONFIG_FILE"
def SDK_FILE = "SDK_FILE"
def LOCALE = "LOCALE"

android {
    // 编译SDK的版本
    compileSdkVersion 21// build tools的版本
    buildToolsVersion "21.1.1"

    defaultConfig {
        // 应用的包名
        applicationId "me.storm.ninegag"
        minSdkVersion 14
        targetSdkVersion 21
        versionCode 1
        versionName "1.0.0"
    }

    // java版本
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    signingConfigs {
        //签名信息
        debug {

            storeFile file("../android/debug.keystore")
            storePassword "android"
            keyAlias "androiddebugkey"
            keyPassword "android"
        }
    }    
    dexOptions {
            //解决导入包过多产生的函数过多编译不通过问题
        javaMaxHeapSize "1g"
    }
    packagingOptions { // 打包配置
        exclude 'META-INF/LICENSE' // 排除一些文件
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
    }
    buildTypes {
        debug{
            debuggable false //调试信息是否开启调试模式
            // 是否进行混淆
            minifyEnabled false
            signingConfig signingConfigs.debug    //签名文件debug
        }
        release {
            debuggable false //调试信息是否开启调试模式
            // 是否进行混淆
            minifyEnabled false// 混淆文件的位置
            zipAlignEnabled true    //是否zip对齐

            shrinkResources true // 移除无用的resource文件            
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            resValue("string", "website_host_name", "${production_website_host_name}")        //R.String.website_host_name
            //给生成的apk重新命名
            applicationVariants.all {

                variant ->
                    variant.outputs.each { output ->
                        if (output.outputFile != null && output.outputFile.name.endsWith('.apk')
                                && 'release'.equals(variant.buildType.name)) {
                            def apkFile = new File(
                                    output.outputFile.getParent(),
                                    "mtp_v${variant.versionName}_${buildTime()}_${variant.productFlavors[0].name}.apk")
                            output.outputFile = apkFile
                        }
                    }
            }        }
    }
    //多渠道打包
    productFlavors {
        focusteach{}
        productFlavors.all { flavor ->
            flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
        }
    }
    //jni目录
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }

// 移除lint检查的error
    lintOptions {
      abortOnError false
    }
}

dependencies {
    // 编译libs目录下的所有jar包
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:21.0.2'
    compile 'com.etsy.android.grid:library:1.0.5'
    compile 'com.alexvasilkov:foldable-layout:1.0.1'// 编译extras目录下的ShimmerAndroid模块
    compile project(':extras:ShimmerAndroid')
    // 仅在debug包启用leakcanary进行内存监控和提示

    debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta1'
    alphaCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta1'
    releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta1'}    //发布版用空包编译
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《Android Gradle权威指南》是一本介绍如何使用Gradle构建Android应用程序的权威指南。本书详细介绍了Gradle的基本概念、构建脚本的编写、依赖管理、多模块构建、构建变体、构建优化等方面的内容。对于想要深入了解Gradle构建Android应用程序的开发者来说,这本书是一本非常好的参考书籍。 ### 回答2: 《Android Gradle权威指南》是一本详细介绍了Android Gradle构建系统的权威指南。Gradle是一种基于Groovy语言的构建自动化工具,而Android Gradle是针对Android应用开发的定制版本。 该指南从基础概念、Gradle的安装和配置开始介绍,随后介绍了Gradle构建脚本的语法和结构。读者将学会如何编写Gradle脚本以管理项目依赖、构建和打包Android应用。 此外,《Android Gradle权威指南》还深入介绍了Gradle的高级功能,如多模块项目管理、变体构建、构建缓存、增量构建等。读者将可以通过使用这些高级功能提高构建效率和减少构建时间。 该指南还对Android Gradle插件的特性进行了解释和演示。它详细介绍了如何使用插件进行代码混淆、资源压缩、构建变体等。此外,读者还能学到如何定制构建过程,处理不同环境和变体。 总的来说,《Android Gradle权威指南》是一本全面而深入的Gradle学习指南,适合已有Gradle基础的Android开发者。通过阅读本书,读者将能够更好地理解和使用Gradle构建系统,以及优化和自定义Android应用的构建过程。 ### 回答3: 《Android Gradle权威指南》是一本介绍如何使用Gradle构建Android应用程序的权威性参考书。Gradle是一种功能强大的构建工具,广泛应用于Android开发中,它以脚本方式定义构建过程,提供了高度灵活性和可扩展性。 这本书首先介绍了Gradle的基本概念和特点,包括项目结构、任务和依赖管理。然后,它深入解析了在Android开发中使用Gradle的各个方面。书中包含了大量实用的示例代码和详细的操作步骤,帮助读者更好地理解和掌握Gradle的使用。 《Android Gradle权威指南》的内容覆盖了Android项目的各个方面,包括构建类型、变体、签名、多模块项目、任务定制等。此外,它还介绍了如何使用Gradle进行自动化测试、发布和持续集成,以及如何优化构建速度和性能。 这本书的优点在于它权威而全面地介绍了Android开发中Gradle的使用,从基础知识到高级技巧都有涉及。同时,作者对相关概念和原理进行了深入讲解,使读者能够更好地理解Gradle的内部工作原理。 总之,对于想要更好地掌握GradleAndroid开发中的应用的开发者来说,《Android Gradle权威指南》是一本非常有价值的参考书。无论是初学者还是有一定经验的开发者,都能从中获得实用的技巧和知识,提升在Android开发中的效率和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值