没有合适的资源?快使用搜索试试~ 我知道了~
Gradle编译打包Android apk详细介绍
11 下载量 120 浏览量
2021-01-04
16:05:17
上传
评论
收藏 101KB PDF 举报
温馨提示
试读
4页
Gradle编译打包Android apk详细介绍 理解Gradle构建过程,解读Android Gradle插件的配置 阅读本文一定是要使用过Gradle生成apk,文中不会讲如何安装运行Gradle,如有需要可先看文末的参考文章。 APK包是一个ZIP压缩包,从Java源代码、资源文件到生成这个APK,经过了编译打包一系列特定的过程,SDK文档(/docs/tools/building/index.html)中找到。而这一系列特定的过程,重复繁琐,构建工具(build tool)就是来流程化这些过程,解放你的双手。Ant作为apk早期的构建工具,构建过程显得很直观,像配置;Gradle可
资源推荐
资源详情
资源评论
Gradle编译打包编译打包Android apk详细介绍详细介绍
Gradle编译打包编译打包Android apk详细介绍详细介绍
理解Gradle构建过程,解读Android Gradle插件的配置
阅读本文一定是要使用过Gradle生成apk,文中不会讲如何安装运行Gradle,如有需要可先看文末的参考文章。
APK包是一个ZIP压缩包,从Java源代码、资源文件到生成这个APK,经过了编译打包一系列特定的过程,SDK文档
(/docs/tools/building/index.html)中找到。而这一系列特定的过程,重复繁琐,构建工具(build tool)就是来流程化这些过
程,解放你的双手。Ant作为apk早期的构建工具,构建过程显得很直观,像配置;Gradle可以方便地配置,但更像脚本,可
以编程。
理解理解Gradle构建构建
1.简单理解构建工具简单理解构建工具
从一个程序员的角度,你该如何编写代码来自动化你的apk生成过程呢?首先得知道你需要的SDK、NDK在什么位
置,Android工程有几个库工程,它们的Java源代码、资源文件分别有哪些?命令行的输入参数肯定无法满足需求,那自然而
然想到配置文件。因此你的自动化工具就是解析这些配置文件,按照生成apk文件要求执行的程序。Gradle就是这样的工具程
序,配置文件就是你常见的settings.gradle,build.gradle,不过他还提供了更多的功能,如依赖管理,流程控制,还有插件机制
来定制你的生成过程。
Gradle的编程语言是Groovy,其需要的配置文件支持Groovy。Groovy语言像Java一样是基于JVM的,而且能够很好的支持
Java,因此可以用Java代码编写扩展插件,像普通编程一样来写配置文件,而不用像Ant一样用xml来编写配置逻辑。
2.Groovy
Groovy的语法,把自己的代码缩略的看上去像脚本,本人也只是看了一点点文档,列出我们常用的介绍一下:
首先Groovy是面向对象的动态语言
((1)语句的末尾可省略分号)语句的末尾可省略分号
((2)变量定义可以用)变量定义可以用def,也可以直接使用,也可以直接使用
((3)函数定义可以用)函数定义可以用def,也可以不用(有返回值声明也可),也可以不用(有返回值声明也可)
函数可省略参数类型函数可省略参数类型
函数调用可省略括号函数调用可省略括号
来看个例子:
println 'Hello'
int power(int n) { 2**n }
println "2^6==${power(6)}"
第一行输出字符串Hello,第二行定义一个函数,第三行输出函数调用值,双引号中间的${}可被解析成表达式运行。
((4))List和和Map类型类型
List实现就是Java的java.util.ArrayList,变量由[]包围,用逗号分隔,比如
def heterogeneous = [1, "a", true] //其元素可以是任何对象
Map的实现是java.util.LinkedHashMap,也是由[]包围,用逗号分隔,其中的键值对是key:value形式,如:
def colors = [red: '#FF0000', green: '#00FF00', blue: '#0000FF']
assert colors['red'] == '#FF0000' //取值可以[key]或者.key的形式
assert colors.green == '#00FF00'
((5)闭包)闭包(Closures))
闭包我的理解类似C里的函数指针,或者说函数对象,可以像函数一样调用的对象
{ [closureParameters -> ] statements }
例子
def testClosure = {int arg1, String arg2 ->//def可省略,参数可省略,默认有it,当只有->表示没有参数
println "arg2:${arg2}" //执行的代码,返回值是最后一句,也可以用return
}
资源评论
weixin_38677505
- 粉丝: 4
- 资源: 971
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 已过基于Hadoop+Spark招聘推荐可视化系统 大数据项目 毕业设计(源码下载)
- python爬虫开发题答案及题目-100(1).zip
- Python 小游戏 (贪吃蛇、五子棋、扫雷、俄罗斯方块)-3 (2).zip
- c语言实现的数独小游戏.zip
- 高德地图中国行政区划省、市、县经纬度
- March 2024 Expiration Of The OAM Out Of The Box Certificates
- 二叉搜索树迭代器(java代码).docx
- 解决keil MDK 5.38版本 在Debug配置使用STlink调试时软件闪退的问题
- py小项目:用户登录和注册系统开发欢迎图片
- TCCEE-x64-v6.2.3(9.51)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功