No1:

Android Gradle插件分类

App插件id:com.android.application

Library插件id:com.android.library

Test插件id:com.android.test

No2:

除了插件id之外,如果是第三方的插件,还要配置它们的依赖classpath。Android Gradle插件就是属于第三方插件,它托管在Jcenter上。

buildscript{
repositories{
jcenter()
}
dependencies{
classpath 'com.android.tools.build:gradle:1.5.0'
}
}

注:buildscript{}这部分配置可以写到根工程build.gradle脚本文件中,这样所有的子工程就不用重复配置了

No3:

apply plugin:'com.android.application'

android{
compileSdkVersion 23
buildToolsVersion "23.0.1"
}

android{}是Android插件提供的一个扩展类型,可以让我们自定义Android Gradle工程。compileSdkVersion是编译所依赖的Android SDK的版本,这里是API Level;buildToolsVersion是构建该Android工程所用构建工具的版本

No4:

proguard-rules.pro是一个混淆配置文件

No5:

compileSdkVersion

public void compileSdkVersion(int apiLevel){
compiledSdkVersion("android-"+apiLevel);
}
public void compileSdkVersion(String version){
checkWritability();
this.target = version;
}
------------------------
public void setCompileSdkVersion(int apiLevel){
compileSdkVersion(apiLevel);
}
public void setCompileSdkVersion(String target){
compileSdkVersion(target);
}
------------------------
android.compileSdkVersion = 23
//or
android.compileSdkVersion = 'android-23'

No6:

buildToolsVersion

public void buildToolsVersion(String version){
checkWritability();
buildToolsRevision = FullRevision.parseRevision(version);
} @Override
public String getBuildToolsVersion(){
return buildToolsRevision.toString();
} public void setBuildToolsVersion(String version){
buildToolsVersion(version);
}

No7:

defaultConfig

defaultConfig{
applicationId "org.flysnow.app.example74"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
}

defaultConfig是默认的配置,它是一个ProductFlavor.

applicationId:配置的包名

minSdkVersion:最低支持的Android系统的API Level

targetSdkVersion:表明我们是基于哪个android版本开发的

versionCode:表明我们的app应用内部版本号,一般用于控制app升级

versionName:表明我们的app应用的版本名称,用户可以看到,就是我们发布的版本

No8:

buildTypes

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

buildTypes是一个NamedDomainObjectContainer类型,是一个域对象。

realease会帮我们自动创建一个对应的BuildType

minifyEnabled是否为该构建类型启用混淆

proguardFiles,当启用混淆时,所使用的proguard的配置文件,配置如何进行混淆

getDefaultProguardFile是android扩展的一个方法,可以获取你的android sdk目录下默认的proguard配置文件

No9:

android gradle任务

connectedCheck:在所有的连接的设备或者模拟器上运行check检查

deviceCheck:通过API连接远程设备运行checks

lint:在所有的ProductFlavor上运行lint检查

install和uninstall类的任务可以直接在我们已连接的设备上安装或者卸载你的app

singingReport:打印app的签名

androidDependencies:打印android的依赖

《Gradle权威指南》--Android Gradle插件的更多相关文章

  1. [Android]Gradle 插件 DiscardFilePlugin(class注入&清空类和方法)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/6732128.html Android Gradle 插件 Di ...

  2. Android Gradle 学习笔记(七):Android Gradle 插件

    我们知道Android Gradle其实就是一个Gradle的一个第三方插件,它是由Google的Android团队开发的,基于Gradle构建的,和Android Studio完美搭配.相比于旧的构 ...

  3. 【Gradle】Android Gradle 插件

    Android Gradle 插件 Android Gradle 插件简介 从Gradle角度来看,Android其实是Gradle的一个第三方插件,它是由Google的Android团队开发的.但从 ...

  4. Gradle系列之Android Gradle插件

    原文发于微信公众号 jzman-blog,欢迎关注交流. 通过前面几篇文章学习了 Gradle 基础知识以及 Gradle 插件相关的知识,关于 Gradle 及其插件相关知识请先阅读下面几篇文章: ...

  5. Android Gradle插件

    目录 什么是Gradle 编写方法 buildSrc 基础概念 Extension 自定义Task Plugin Transformer Gradle用处 好文章 常见问题 Gradle插件练习地址: ...

  6. Android Gradle插件(plugin)版本(version)与Gradle、SDK Build Tools版本关系

    具体关系如下图: 比如,Android Studio 2.0发布,其中有个新功能“Instant Run”,需要Android Gradle Plugin版本2.0.0以上,那么我们项目的.gradl ...

  7. Android端生成META-INF信息文件的Gradle插件 RapidMetaInfPlugin

    来源博客:Wang Jie's Blog 本文链接:<http://blog.wangjiegulu.com/2018/02/05/Android端生成META-INF信息文件的Gradle插件 ...

  8. Android官方技术文档翻译——Gradle 插件用户指南(7)

    本文译自Android官方技术文档<Gradle Plugin User Guide>,原文地址:http://tools.android.com/tech-docs/new-build- ...

  9. Android Gradle 学习笔记(六):Gradle 插件

    Gradle 本身提供了一些基本的概念和整体核心的框架,其他用于描述真实使用场景的都可以通过插件扩展的方式来实现.这样就可以通过抽象的方式提供一个核心的框架,其他具体的功能和业务都通过插件扩展的方式来 ...

随机推荐

  1. JavaScript之关闭轮询定时器(setTimeout/clearTimeout|setInterval/clearInterval)小结

    已知: 1.1 开启Timeout程序: scope.setTimeout("functionName()" | functionHandle, timeValue) 返回值:ti ...

  2. 2018-2019-2 《网络对抗技术》Exp0 Kali安装 20165230

    2018-2019-2 <网络对抗技术>Exp0 Kali安装 20165230 一.下载kali 下载地址 下载Kali Linux 64 bit VMware VM版本 下载vmwar ...

  3. 解决kali linux 开启ssh服务后连接不上的问题

    今天在手机端装了NetHunter 想连接PC的kali ,可是怎么都连不上 综合网友的经验: 1.修改sshd_config文件,命令为:vi /etc/ssh/sshd_config 将#Pass ...

  4. SpringBoot集成Spring Security(授权与认证)

    ⒈添加starter依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifact ...

  5. Windows下 Robhess SIFT源码配置

    Robhess OpenSIFT 源码下载:传送门 为了进一步学习SIFT,选择论文就着代码看,在VS2013.OpenCV2.4.13下新建项目,跑一跑经典之作.由于将代码和Opencv配置好后还会 ...

  6. volatile的深入理解--【sky原创】

    volatile 所有定义的变量都是在内存上面的,  例如: int i = 10; int j = i; int k = i;   i = 10; 是初始化的变量,存放在数据段,未初始化的变量存放在 ...

  7. oracle查询重复数据方法

    SQL重复记录查询方法 2008年08月14日 星期四 21:01 SQL重复记录查询 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peop ...

  8. Lucas卢卡斯定理

    当$p$为素数时 $$C_n^m\equiv C_{n/p}^{m/p}*C_{n\%p}^{m\%p}(mod\ p)$$ 设$n=s*p+q,m\equiv t*p+r(q,r<=p)$ 我 ...

  9. 整理一下odoo10在windows系统下部署的流程

    odoo10环境搭建 所需依赖: Python3.5 odoo10.0 Node.js PostgreSQL 9.5 PyCharm 专业版 1.首先先安装好Python3.5,并设置好环境变量 2. ...

  10. NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{HBmUtjMOQP2pgLFFwqa_Og}{172.16.0.163}{172.16.0.163:9300}] ]

    1.找到elasticsearch的安装目录,在config目录找到elasticsearch.yml,查看cluster.name的赋值 2.在SpringBoot的yml文件中,不仅要配置clus ...