深入理解Android之Gradle(一)

作者: 大荣言午 | 来源:发表于2017-09-11 17:48 被阅读0次

    现在,搞APP开发,编译/打包等问题成为痛点,例如:

    • 一个APP有多个版本,Release版、Debug版、Test版,还有现在做的比较多的,多渠道打包,针对不同的应用市场打不同的渠道包,虽然可以配置Android.mk,但需要依赖整个Android源码,而且还不能完全满足条件;
    • library 工程我们需要编译成jar包,然后发布给其他应用开发者使用,一般在eclipse上就需要export;如果这一切自动编译成jar包,对开发者来说,真是福利满满啊;

    那如果使用构建工具,我们就会更好的解决构建过程中的各种问题。对于构建,很多人会立马想到build或者是make,就是根据输入信息然后做一堆事情,最后得到Aritifact;例如:make构建工具,就是根据Makefile文件里面写的规则,执行相应的命令,最后得到产物;下面我们来详情介绍Gradle相关的内容;此系列文章为学习总结,理解或实践会有错误的地方,还希望各位大佬指出,促进学习!

    Gradle 介绍

    在Gradle火爆之前,我们常见的构建工具是ANT,后来进化成Maven,借鉴网上的说法:Maven编译规则是XML来编写的,XML虽然通俗易懂,但是很难再XML文件中面熟if{某条件成立,编译某文件}else{编译其他文件}这样有不同条件的任务;Gradle使用的是Groovy动态语言进行编写,Groovy是基于java并且拓展java,而且Gradle除了灵活的语言编写构建规则外,还有一点是领域相关语言DSLDomain Specific Language。总结来说,可以发现Gradle构建工具更能让开放者上手。下面我这边咱们来慢慢学习:

    Groovy 语言简单介绍

    Groovy之前我这边也简单介绍过,这边有一点需要注意的是:当我们执行Groovy脚本时,Groovy会先将其编译成Java 类字节码,然后通过JVM来执行这个java类。

    Groovy 开发环境
    Groovy 官方网站地址,部署开发环境还是相对简单:

    • $ curl -s get.sdkman.io | bash
    • $ source "$HOME/.sdkman/bin/sdkman-init.sh"
    • $ sdk install groovy
    • $ groovy -version

    以上就安装完毕;
    输入-virtual-machine:~$ groovyConsole
    可以打开一个用Groovy写的图形化的GUI,非常简洁好用,

    • Ctrl+R 执行窗口代码,如果有代码段被选中则执行选中的代码。
    • Ctrl+W 清空输出面板。默认不清空,可以在菜单-View里勾选"Auto Clean Output On Run"在每次执行前自动清空。默认每行代码都打印到输出面板,可以在菜单-View里取消勾选"Show Script in output"。
    • Ctrl+L 编译,语法错误很容易就爆出来了哦。
    • Ctrl+I 查看最后运行的表达式的对象信息,包括所在类的所有方法。
    • Ctrl+J 查看最后运行的代码里的所有变量信息,和所在类的所有方法。
    • Ctrl+T 查看生成的抽象语法树(AST)的类。
      如果程序执行时间比较长,想要终止程序,记得在菜单--Script里勾选"Allow Interruption",否则点击"Interrupt Running Script"是没有用的。
      面板最下面一行是状态显示栏,左边显示程序执行情况,最右边是光标所在的row:column
      一般的小脚本不需要导入jar包,如果需要外部jar包的时候,通过菜单--Script里的"add jar to classpath"或者"add directory to classpath"就可以使用了,不过这个在每次打开的时候都需要设置,所以如果是常用的jar包,可以直接把它们放到groovy的lib目录里面这样每次启动的时候都会自动加载。

    以上准备工作做完,即将进入我们的学习Gradle之旅,欢迎关注后续更新
    ,相互学习

    相关文章

      网友评论

        本文标题:深入理解Android之Gradle(一)

        本文链接:https://www.haomeiwen.com/subject/qnmfsxtx.html