文档章节

《Android-Gradle的简单配置》

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

首先什么是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
博文 52
码字总数 32623
作品 0
成都
程序员
使用gradle进行构建打包操作

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

awesome@qa ⋅ 05/15 ⋅ 0

React Native Mac 下打包Android APK

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

JsLin_ ⋅ 06/18 ⋅ 0

读书笔记--Android Gradle权威指南(下)

前言 最近看了一本书《Android Gradle 权威指南》,收获挺多,就想着来记录一些读书笔记,方便后续查阅。 本篇内容是基于上一篇:读书笔记--Android Gradle权威指南(上) 上一篇中我们讲了:...

请叫我大苏 ⋅ 05/27 ⋅ 0

读书笔记--Android Gradle权威指南(上)

最近看了一本书《Android Gradle 权威指南》,对于 Gradle 理解又更深了,但不想过段时间就又忘光了,所以打算写一篇读书笔记,将书中一些我个人觉得蛮有用的点记录、总结一下。 前言 首先,...

请叫我大苏 ⋅ 05/24 ⋅ 0

Gradle/Studio构建问题(Ant/Gradle)

> 使用Gradle遇到的问题及其他: Android Studio安装过程常见问题图解-- http://jingyan.baidu.com/article/fd8044fad5bdca5031137ab7.html 1. 将GitHub上的新项目导入Studio中 Pano360-mast......

shareus ⋅ 05/11 ⋅ 0

寄Android开发Gradle你需要知道的知识

初识Gradle Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML。当前其支持的语言限于Java、Groovy和...

猴亮屏 ⋅ 05/22 ⋅ 0

AndroidStudio gradle安装配置详解-透过现象看本质

背景 相信很多人第一次安装androidstudio跑工程时候,会遇到一个问题:android sutdio第一次打开一个工程巨慢怎么办? 或者是gradle project sync filded错误 有没有想过androidstudio是如何...

u010321471 ⋅ 05/27 ⋅ 0

使用Android Studio编译cocos2dx的测试用例

最近笔者在学习如何为游戏引擎添加Android平台的支持。首先从已有的游戏引擎开始研究,将引擎中的示例用Android Studio打包成apk文件。笔者选用了目前风头正紧的cocos2dx,版本是最新的3.16,...

闪电的蓝熊猫 ⋅ 04/06 ⋅ 0

Android JNI学习(二)——实战JNI之“hello world”

本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Native相互调用 Android JNI学习(四)——JNI的常用方法...

隔壁老李头 ⋅ 05/09 ⋅ 0

Gradle实现Android多渠道定制化打包

最近在项目中遇到需要实现 Apk 多渠道、定制化打包, Google 、百度查找了一些资料,成功实现了上述功能,在此记录以备不时之需,温故而知新,可以为师矣~ 需求可以总结如下: 如何实现多个 ...

玄学酱 ⋅ 2017/08/03 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

开启Swarm集群以及可视化管理

在搭建的两台coreos服务器上开启swarm集群 前置条件: docker均开启2375端口 同一个局域网内 主服务器上安装Portainer容器 安装Portainer容器执行: docker run -d -p 9000:9000 --restart=a...

ykbj ⋅ 21分钟前 ⋅ 0

单例设计模式

1、单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例 2、饿汉式单例类 在这个类被加载时,静态变量instance会被初始化,此时类的私有构造子会被调用 饿汉式是典型...

职业搬砖20年 ⋅ 26分钟前 ⋅ 0

前端基础(四):前端国际规范收集

字数:1142 阅读时间:5分钟 前言 由于前端技术的灵活性和杂乱性,导致网上的许多解决方案不够全面甚至是完全错误,容易起到误导作用。所以,我对搜索到的解决方案往往是存疑态度。那么,如何...

老司机带你撸代码 ⋅ 28分钟前 ⋅ 0

Failed to open/create Network-VirtualBox Host-Only

虚拟机版本 : Oracle Vm VirtualBox 5.2.12 报错时机:开网卡二,重启虚拟机报错 "Failed to open/create the internal network 'HostInterfaceNetworking-VirtualBox Host-Only Ethernet Ada......

p至尊宝 ⋅ 32分钟前 ⋅ 0

三分钟学会如何在函数计算中使用 puppeteer

摘要: 使用 puppeteer 结合函数计算,可以快速的构建弹性的服务完成各种功能,包括:生成网页截图或者 PDF、高级爬虫,可以爬取大量异步渲染内容的网页、模拟键盘输入、表单自动提交、登录网...

阿里云云栖社区 ⋅ 35分钟前 ⋅ 0

springMVC接收表单时 Bean对象有Double Int Char类型的处理

前台ajax提交表单price为double类型 后台controller就介绍不到 400错误 前台 实体类: public class ReleaseMapIconConfig{ private String id; private long maxValue; private long minVal......

废柴 ⋅ 37分钟前 ⋅ 0

ZOOKEEPER安装

工作需要在ubuntu上配置了一个zookeeper集群,有些问题记录下来。 1. zookeeper以来java,所以首先要安装java。但是ubuntu系统有自带的jdk,需要通过命令切换java版本: $ sudo update-alter...

恰东 ⋅ 40分钟前 ⋅ 0

linux 进程地址空间的一步步探究

我们知道,在32位机器上linux操作系统中的进程的地址空间大小是4G,其中0-3G是用户空间,3G-4G是内核空间。其实,这个4G的地址空间是不存在的,也就是我们所说的虚拟内存空间。 那虚拟内存空间...

HelloRookie ⋅ 40分钟前 ⋅ 0

myatis #{}与${}区别及原理

https://blog.csdn.net/wo541075754/article/details/54292751

李道福 ⋅ 43分钟前 ⋅ 0

三分钟学会如何在函数计算中使用 puppeteer

摘要: 使用 puppeteer 结合函数计算,可以快速的构建弹性的服务完成各种功能,包括:生成网页截图或者 PDF、高级爬虫,可以爬取大量异步渲染内容的网页、模拟键盘输入、表单自动提交、登录网...

猫耳m ⋅ 45分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部