读《Gradle for Android 》学习笔记(第一章Gradle和Android Studio入门)

Android应用的构建过程:资源文件编译并在一个R文件中引用——>java代码被编译——>通过dex转换为dalvik字节码——>最后将这些文件打包成一个APK,APK还会被debug或者Release的key文件签名。

一、Gradle和Android Studio入门

1.1Android Studio

1.2理解gradle基础

build.gradle(后面用"构建脚本"代替)

因为Groovy基于jvm,所以不用先看Groovy,但是如果想创建自己的任务和插件,那么就需要更深的了解Groovy了。。。但是因为是基于java虚拟机的,所以也可以用java或其他基于java虚拟机的语言来编写自定义插件。

1.2.1项目和任务

一个构建脚本代表一个项目,一个项目包括一个或多个任务,一个任务对象包含一系列动作对象,这些动作对象会按顺序执行(一个单独的任务对象就是一个待执行的代码块,和java中的方法类似)。

构建工具会新建一个动态的模型流,一个一个地执行任务(不会循环)。没有依赖的任务通常优先执行。

gradle构建的三个阶段:

1.2.2构建生命周期

初始化:有几个构建脚本,在该阶段就创建几个项目实例

配置:执行构建脚本并为每个项目实例创建和配置任务

执行:Gradle决定哪个任务会被执行

1.2.3构建配置文件
 

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

jcenter是一个Maven仓库

每一个Android项目都应该申请该插件:

apply plugin: 'com.android.application'

插件用于扩展Gradle构建脚本的能力。

(但如果您是个依赖库,就用com.android.library,因为是个安卓依赖而不是应用)

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"
}

compileSdkVersion 编译应用的SDK版本  buildToolsVersion 构建工具版本

1.2.4项目结构

一个简单的应用的文件夹结构如图:

源集(source set):一组会被一起执行和编译的源文件。main就是一个源集,androidTest也是一个源集(测试用)

1.4 Gradle Wrapper入门

运行Gradle Wrapper其实和直接运行Gradle没什么不同,那么为什么还要用Gradle Wrapper呢?因为更好的向后兼容,Gradle Wrapper会自动下载需要版本的Gradle。

1.4.1获取Gradle Wrapper

在使用Gradle构建和脱离AS(AndroidStudio)开发时,最好的方式是用Wrapper。

在terminal运行./gradlew -v可查看Gradle Wrapper版本信息

grale下载网址: http://gradle.org/downloads  mac可以用Homebrew安装

properties包含了参数配置,决定用哪个版本的Gradle

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

如果想用内部分发的自定义Gradle版本,那么可以修改URL

1.4.2 运行基本构建任务

./gradlew tasks 看到当前所有的任务(./gradlew tasks --all还会显示每个任务对应的依赖) (windows用 gralew.bat .mac 用 ./gradlew)

./gradlew assembleDebug可以编译出debug apk到输出目录(build/outputs/apk/debug)

除了assemble还有:

check:运行所有检查

build 触发 assemble 和 check

clean 清楚项目的输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值