《Gradle权威指南》--Android Gradle插件
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插件的更多相关文章
- [Android]Gradle 插件 DiscardFilePlugin(class注入&清空类和方法)
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/6732128.html Android Gradle 插件 Di ...
- Android Gradle 学习笔记(七):Android Gradle 插件
我们知道Android Gradle其实就是一个Gradle的一个第三方插件,它是由Google的Android团队开发的,基于Gradle构建的,和Android Studio完美搭配.相比于旧的构 ...
- 【Gradle】Android Gradle 插件
Android Gradle 插件 Android Gradle 插件简介 从Gradle角度来看,Android其实是Gradle的一个第三方插件,它是由Google的Android团队开发的.但从 ...
- Gradle系列之Android Gradle插件
原文发于微信公众号 jzman-blog,欢迎关注交流. 通过前面几篇文章学习了 Gradle 基础知识以及 Gradle 插件相关的知识,关于 Gradle 及其插件相关知识请先阅读下面几篇文章: ...
- Android Gradle插件
目录 什么是Gradle 编写方法 buildSrc 基础概念 Extension 自定义Task Plugin Transformer Gradle用处 好文章 常见问题 Gradle插件练习地址: ...
- Android Gradle插件(plugin)版本(version)与Gradle、SDK Build Tools版本关系
具体关系如下图: 比如,Android Studio 2.0发布,其中有个新功能“Instant Run”,需要Android Gradle Plugin版本2.0.0以上,那么我们项目的.gradl ...
- Android端生成META-INF信息文件的Gradle插件 RapidMetaInfPlugin
来源博客:Wang Jie's Blog 本文链接:<http://blog.wangjiegulu.com/2018/02/05/Android端生成META-INF信息文件的Gradle插件 ...
- Android官方技术文档翻译——Gradle 插件用户指南(7)
本文译自Android官方技术文档<Gradle Plugin User Guide>,原文地址:http://tools.android.com/tech-docs/new-build- ...
- Android Gradle 学习笔记(六):Gradle 插件
Gradle 本身提供了一些基本的概念和整体核心的框架,其他用于描述真实使用场景的都可以通过插件扩展的方式来实现.这样就可以通过抽象的方式提供一个核心的框架,其他具体的功能和业务都通过插件扩展的方式来 ...
随机推荐
- 用winhotkey添加属于自己的快捷键
需求 我要使用Win+N快捷键组合打开指定某个文件! 使用方法 打开winhotkey软件,做以下操作: 此刻,就可以用Win+N组合快捷键来打开指定目录了!
- 【SVN】svn使用方法
下载安装TortoiseSVN 下载地方 安装成功后 TortoiseSVN清除凭证 右击空白处-TortoiseSVN-Settings打开Settings窗口后做如下操作: svn在idea中的使 ...
- mysql 架构 ~ PXC5.7.20安装尝试
简介:今天来尝试下 pxc 5.7.20安装1 环境安装 yum install -y git scons gcc gcc-c++ openssl check cmake bison boost- ...
- Android数据存储五种方式
1 使用SharedPreferences存储数据:常用于做本地缓存 2 文件存储数据:(1)data/data/<package name>/files目录内 (2)SDCard内 ...
- SpringBoot2.X自定义拦截器实战及新旧配置对比(核心知识)
简介: 讲解拦截器使用,Spingboot2.x新版本配置拦截拦截器和旧版本SpringBoot配置拦截器区别讲解 1.@Configuration 继承WebMvcConfigurationAdap ...
- SpringBoot定制错误页面
(1)有模板引擎的情况下,例如404错误,将会在thymeleaf的templates的error下寻找404.html,如果找不到再寻找4xx.html *所有4开头的错误状态码如果找不到特定的ht ...
- Tomcat启动项目时内存溢出问题如何解决
在Eclipse中,内存溢出(报不能创建JAVA虚拟机错时,也可能是这里配错了.) 1.双击Tomcat,点击Open launch configuration,Arguments, 2.在VM ar ...
- Vue.js——循环(Java、JSTL标签库、数据库)
一.Vue.js循环 Vue.js循环要使用 v-for 指令. v-for 指令需要以 student in StudentList 形式的特殊语法使用, StudentList 是源数据数组并且s ...
- springboot:session集中存储到redis
1.在web工程的基础上,在pom.xml中添加: <dependency> <groupId>org.springframework.boot</groupId> ...
- java使用正则表达式的方法从json串儿,取想要的value值
例子1: 现有json: ({"code":"200","json":["111"],"message&quo ...