1 Android Gradle Plugin 的下载,编译,debug
1.1 下载
安装 repo:
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
初始化并下载:
mkdir android_gradle_plugin
cd android_gradle_plugin
repo init -u https://android.googlesource.com/platform/manifest -b studio-master-dev
repo sync
1.2 编译发布
插件代码在 tools/base
:
cd tools
./gradlew :publishAndroidGradleLocal
版本号:
在 tools/buildSrc/base/version.properties
中。
1.3 debug
Run/Debug Configurations 中创建一个 Remote;
./gradlew --no-daemon -Dorg.gradle.debug=true xxxTask
;运行 debug。
2 Android Gradle plugin 的具体流程
2.1 流程
先看一张经典的打包流程图:
可以看到一共有以下几步:
- 通过 aapt 打包 res 资源文件,生成 R.java、resources.arsc 和 res 文件(二进制 & 非二进制如 res/raw 和 pic 保持原样);
- 处理 .aidl 文件,生成对应的 Java 接口文件;
- 通过 Java Compiler 编译 R.java、Java 接口文件、Java 源文件,生成 .class 文件;
- 通过 dex 命令,将 .class 文件和第三方库中的 .class 文件处理生成 classes.dex;
- 通过 apkbuilder 工具,将 aapt 生成的 resources.arsc 和 res 文件、assets 文件和 classes.dex 一起打包生成 apk;
- 通过 Jarsigner 工具,对上面的 apk 进行 debug 或 release 签名;
- 通过 zipalign 工具,将签名后的 apk 进行对齐处理。