关于Gradle的一些常用知识

来源:互联网 发布:网络违法犯罪举报官网 编辑:程序博客网 时间:2024/06/14 20:37

Android发展这么多年,as已成为主流开发IDE,as与es的最大区别是加入了gradle,那么gradle的一些常用配置是怎样的呢,下面给出讲解。

AS中gradle的安装配置

as中gradle有两个选项,一是选择默认位置,一个是自定义位置,如下图:
gradlep配置

首先说说自定义位置,比较简单。我们可以先下载想要的gradle版本,然放在自己想放的位置,然后Gradle home选择刚才的路径就可以了。
接下来说说默认路径,很多人找不到默认的gradle放在哪里,请看service directory path栏,那里就是默认的路径,只不过进入那里以后还得往下翻,

C:\Users\Administrator\.gradle\wrapper\dists\gradle-3.3-all\55gk2rcmfc6p2dg9u9ohc3hw9\gradle-3.3

我安装的是3.3版本,这里的路径就是配置gradle环境变量的路径,关于配置环境变量请参考我的上一篇博客Android多渠道打包以及发布方法

路径配置好后,还需最后一步:项目的gradle配置

项目选择gradle版本

至此gradle在AS就安装配置完毕了

gradle的常用代码配置方法

gradle是我们编译打包的工具,那么如何进行代码配置呢。默认情况下创建一个工程后,gradle会进行一些基本配置,我们要在这个基础配置上增加一些有用的配置信息
首先,配置签名工具

这里写图片描述

配置好后会自动在gradle里增加相关代码

接着配置buildtype,

buildTypes {        debug {            // buildConfigField 自定义配置默认值            buildConfigField "boolean", "LOG_DEBUG", "true"            buildConfigField "String", "API_HOST", "\"http://api.test.com\""//API Hos            versionNameSuffix "-debug"            minifyEnabled false            //是否zip对齐            zipAlignEnabled false            shrinkResources false            signingConfig signingConfigs.debug        }    release {        // buildConfigField 自定义配置默认值        buildConfigField "boolean", "LOG_DEBUG", "false"        buildConfigField "String", "API_HOST", "\"http://api.release.com\""//API Host        //// 是否进行混淆        minifyEnabled true        zipAlignEnabled true        // 移除无用的resource文件        shrinkResources true        //混淆规则文件        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        signingConfig signingConfigs.release        applicationVariants.all { variant ->            variant.outputs.each { output ->                def outputFile = output.outputFile                if (outputFile != null && outputFile.name.endsWith('.apk')) {                    // 输出apk名称为boohee_v1.0_2015-06-15_wandoujia.apk                    def fileName = "boohee_v${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk"                    output.outputFile = new File(outputFile.parent, fileName)                }            }        }    }}

友盟多渠道配置

// 友盟多渠道打包productFlavors {    wandoujia {}    qihu360 {}    baidu {}    xiaomi {}    tencent {}    taobao {}}productFlavors.all { flavor ->    flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]}

基本常用的就这些。剩下的依赖配置相信大家都会的。

原创粉丝点击