文档章节

《Android-Gradle的简单配置》

吕檀溪
 吕檀溪
发布于 2016/07/25 15:10
字数 411
阅读 22
收藏 2

首先什么是Gradle?Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。

Gradle的安装我就不说了(AS自带的),让我们看看创建android项目后的build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.linc.arrowfall"
        minSdkVersion 17
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        debug {

            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
}

1、为BuildConfig添加属性

    在项目的开发中,服务器一般都分了开发和正式环境(有的还有测试环境),Base_Url就需要动态去获取,为了一劳永逸,我们可以在buildTypes 中的debug和release中添加都一个

  buildConfigField "String", "BASE_URL", '"网络请求地址"'

这样我们就可以在代码中通过 BuildConfig.BASE_URL来获取网络请求地址

2、多渠道

    app正式上线后我们有时候需求统计渠道下载量,这时候我们则需要配置不同的manifestPlaceholders以便我们来区分是哪个渠道的

    

productFlavors {
        yingyongbao{}
        xiaomi{}
    }

这样也可以轻松的搞定

3、根据环境修改applicationId、versionName

    这个跟第一种情况类似,但是Gradle已经为我们提供了方法

    

  debug {
            versionNameSuffix '.debug'
            applicationIdSuffix '.debug'
 
        }
        release {
              versionNameSuffix '.release '
            applicationIdSuffix '.release '
        }

    暂时就这么多,今天写得有点慌,请见谅

© 著作权归作者所有

共有 人打赏支持
吕檀溪
粉丝 5
博文 54
码字总数 32623
作品 0
成都
程序员
Android studio gradle配置

Gradle 基本概念 首先我们学习几个gradle 的脚本语法,掌握了这几个语法,你就能非常简单的用gradle构建打包android项目了。 首先,我们来看下一个最简单android 。 build.gradle //设置脚本...

习惯_搬砖
2014/11/07
0
1
Gradle和Gradle插件

文章是翻译整理的官网文档developer.android/studio/build/ 一、Gradle和Gradle插件 Gradle:Gradle是一款帮助开发人员更快更好的编译、自动化运行和分发软件的工具。Gradle具有无与伦比的通...

都有米
06/19
0
0
使用gradle进行构建打包操作

由于我们部署的jenkins执行的Android构建操作就是由Gradle来实现,所以以下是我们在使用gradle在执行构建操作时,gradle的构建原理 一.Gradle的安装和配置 1. 我们要从Gradle的官网,去下载g...

awesome@qa
05/15
0
0
AndroidStudio、gradle、buildToolsVersion关系

使用AndroidStudio 开发也已经2年了,每次gradle 或者studio 有推荐更新后,项目重新sync后都会报错,提示更新相应的其他版本,比如AndroidStudio、gradle、buildToolsVersion版本; 先来说说...

SuShine
2017/11/07
0
0
React Native Mac 下打包Android APK

打包的时候遇到了 好多坑 这里记录下~ 主要步骤: 1.android keystore签名的生成 gradle mac下环境变量的配置 3.android studio中的gradle配置。 4.打包 签名的生成 执行完之后,输入本机的 ...

JsLin_
06/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

00.编译OpenJDK-8u40的整个过程

前言 历经2天的折腾总算把OpenJDK给编译成功了,要说为啥搞这个,还得从面试说起,最近出去面试经常被问到JVM的相关东西,总感觉自己以前学的太浅薄,所以回来就打算深入学习,目标把《深入理...

凌晨一点
31分钟前
0
0
python: 一些关于元组的碎碎念

初始化元组的时候,尤其是元组里面只有一个元素的时候,会出现一些很蛋疼的情况: def checkContentAndType(obj): print(obj) print(type(obj))if __name__=="__main__": tu...

Oh_really
昨天
1
2
jvm crash分析工具

介绍一款非常好用的jvm crash分析工具,当jvm挂掉时,会产生hs_err_pid.log。里面记录了jvm当时的运行状态以及错误信息,但是内容量比较庞大,不好分析。所以我们要借助工具来帮我们。 Cras...

xpbob
昨天
78
0
Qt编写自定义控件属性设计器

以前做.NET开发中,.NET直接就集成了属性设计器,VS不愧是宇宙第一IDE,你能够想到的都给你封装好了,用起来不要太爽!因为项目需要自从全面转Qt开发已经6年有余,在工业控制领域,有一些应用...

飞扬青云
昨天
3
0
我为什么用GO语言来做区块链?

Go语言现在常常被用来做去中心化系统(decentralised system)。其他类型的公司也都把Go用在产品的核心模块中,并且它在网站开发中也占据了一席之地。 我们在决定做Karachain的时候,考量(b...

HiBlock
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部