前景
gradle
是编译框架; 常用于java
编译;groovy
是一门语言; java
的精简,优化版;AGP:android gradle plugin
, google
基于gradle
开发的插件, 可以用于编译安卓程序;- 类似于:
python
编译框架, 用python
脚本作为配置, 然后我基于python
开发了属于我自己语言的编译插件MGP:my gradle plugin
;
AGP
项目配置
- 顶层整个项目配置; 为每个子模块配置相关依赖; 子模块则有自己的详细配置;
build.gradle
主要的编译配置文件; setting.gradle,gradle.properties
则是配置信息;
项目和编译
核心是ndk,sdk
安卓配套编译工具集合;
gradle
则是项目编译系统;
一个项目基本就是一些源码, 资源或者配置, 下载下来依赖的jar
包一般都是公共的; 即大家要用就用;
能使用gradle
编译android
的主要依赖是android gradle plugin
, 否则gradle
也编译不了;
配置文件解析
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0'
}
}
apply plugin: 'android'
android {
compileSdkVersion 'android-24'
buildToolsVersion '26.0.0'
buildTypes {
release {
proguardFile getDefaultProguardFile('proguard-android.txt')
}
}
}
android
以外的是gradle
的语法范畴, android
内部则是AGP
的范畴, 主要是字段等;android
类似namespace
, buildToolsVersion
这类就是全局基础变量; buildTypes
结构体初始化, 需要字段合法, 是否合法查文档;
参考书籍
Gradle Recipes for Android Master the New Build System for Android
- 尚硅谷