深入浅出AndroidGradle构建系统(三:buildtask) - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 技术分享 >

深入浅出AndroidGradle构建系统(三:buildtask)

发表时间:2020-10-19

发布人:葵宇科技

浏览次数:25


 接上一篇  深刻浅出Android Gradle构建体系(二:项目构造)

构建义务(Build Tasks)


java和Android通用的义务
在build文件中应用了Android或者Java插件之后就会主动创建一系列可以运行的义务。
Gradle中有如下一下默认商定的义务:
1. assemble
该义务包含了项目中的所有打包相干的义务,比如java项目中打的jar包,Android项目中打的apk
2. check
该义务包含了项目中所有验证相干的义务,比如运行测试的义务
3. build
该义务包含了assemble和check
4. clean
该义务会清空项目标所有的输出,删除所有在assemble义务中打的包
assemble, check 和 build 义务实际上并不做任何工作,它们其实只是为插件供给了一个钩子,真正的工作都是由插件来完成的。
如许的话,开辟人员就不须要关怀我到底运行的是一个java项目照样一个Android项目,也不消关怀我到底应用了哪些gradle插件,因为我都可声调用这些商定的义务来完成构建。
比如应用findbugs插件会创建一个新的义务,并且使得check义务依附于这个新建的义务,如许每次履行check义务的时刻,都邑履行这个新建的义务。
在敕令行履行
gradle tasks
</pre>会列出所有重要的义务如不雅想看到全部的义务和它们的依附,可以运行:<pre name="code" class="java">gradle tasks --all

留意:Gradle会主动检查一个义务的输入和输出。比如持续两次运行build义务的,Gradle会申报所有的义务都已经是最新刚运行过的了,不须要再次运行。如许的话,义务之间就算是有互相依附,也不会导致反复的履行。

Java项目常用的义务

Java plugin 重要创建了两个义务:
1. jar
assemble义务会依附jar义务,看名字就知道这是负粜ヲjar包的义务。jar义务本身又会依附很多其他的义务,比如classes义务,classes义务会编译java代码
2. test
check义务会依附test义务,这个义务会运行所有的测试。测试代码应用testClasses义务编译,然则我们根本不消手动运行testClasses义务因为test义务已经添加了对它的依附。
平日情况下,我们只要运行assemble和check义务就够了。
想查看java插件供给的所有义务以及他们的依附可以点这个[链接](http://gradle.org/docs/current/userguide/java_plugin.html)

Android项目常用的义务

和其他gradle插件一样,Android插件也供给了一些默认的义务,比如assemble,check,build,clean,同时它也供给了一些本身特有的义务,比如:
1. connectedCheck
运行那些须要在真机或者模仿器上履行的检查义务,这些义务会并行地在所有连接的设备上运行
2. deviceCheck
应用APIs连接长途设备履行检查.重要用于CI(持续集成)办事上.
膳绫擎两个义务都邑履行 assemble 和 check义务。新加这两个义务是很有须要的,如许可以包管我们可以运行那些不须要连接设备的检查义务。
留意:build义务并不依附于deviceCheck或者connectedCheck
一个Android项目平日至少会有两种输出:debug apk和release apk。对应的gradle中有两个义务可以分别输出不合的apk:
assembleDebug
assembleRelease
这两个义务又会依附其他的义务来构建一个apk。assemble义务依烂魅这两个义务,调用assemble义务就会生成两种apk。
小提示: Gradle支撑在敕令行应用camel风格的缩写来代替义务的名字,比如:
gradle aR
等同于
gradle assembleRelease
只要没有其他义务的缩写也是'aR'
check相干的义务的依附:
check依附lint
connectedCheck依附 connectedAndroidTest和connectedUiAutomatorTest (还没有实现)
deviceCheck依附于那些实现了test扩大的插件所供给的义务
最后,Android gradle插件还供给了install和uninstall义务,用来安装和卸载apk

相关案例查看更多