gradle是一个免费、开源、通用、灵活的项目构建工具,可用来构建Android项目、打包生成apk。通过gradle生成apk一般需要执行./gradlew clean和./gradlew assembleRelease两个命令,下面通过这两个命令所执行的每个task来分析生成apk的过程。
./gradlew clean命令会执行以下任务:
1. task ':clean'
清理,删除项目根目录下的build文件夹,/build
2. task ':app:clean'
清理,删除app目录下的build文件夹,/app/build
./gradlew assembleRelease命令会执行以下任务:
1. task ':app:preBuild'
预构建,准备构建,在项目根目录下生成build文件夹,在app目录下生成build文件夹
2. task ':app:preReleaseBuild'
预构建,生成/app/build/intermediates/prebuild/release目录,Release是构建类型,下同
3. task ':app:compileReleaseAidl'
编译aidl相关文件,通过aidl工具把.aidl文件编译成.java文件 ,生成的结果在/app/build/generated/source/aidl/release目录
4. task ':app:compi