Android 编译优化,提升你的开发效率

Android 编译优化

1、现状分析

工程编译,是Android应用开发工作中的重要一环,在项目体量越来越大的情况下,编译耗时也越来越长,拖慢了开发效率

全量编译/增量编译/安装占据了整个流程的大多数时间,假设全量编译在6分钟,每天运行10次,每天我们浪费在编译上的时间就有60分钟,假设编译时间是3分钟,每天节约0.5小时,

全量编译:项目没有运行过,没有生成特定的缓存文件,初次进行资源代码的编译合并流程。比如clean后。多数用于项目的初次编译打包/清理缓存后编译时。

增量编译:在全量编译后的基础上进行编译,改动/新增/删除/添加都会进行改变的编译不影响整体已有编译的文件。多数用于项目的初次编译/生成缓存文件后编译时。

2、编译流程

整体流程如下

• aapt 打包资源文件,产生R.java ,resource.arsc , res,manifest.xml

• aidl 产生java接口文件

• javac 编译R.java,Aidl产生的java文件以及工程中用到的源码产生.class文件

• R8混淆和代码压缩.class文件,经过d8 生成.dex文件

• apk builder 将资源包,.dex打包生成apk文件

• apksigner /jarSigner 会对apk进行签名

3、编译耗时检测

Build Analyaer

Gradle 命令

$ gradlew app:assemble --profile (Windows)

$ ./gradlew app:assembleDebug --profile (Ubuntu,Mac)

scan

$ gradlew app:assemble --scan(Windows)

$ ./gradlew app:assembleDebug --scan(Ubuntu,Mac)

https://gradle.com/s/mshp4gfpxazg6

Android studio

https://juejin.cn/post/7094198918065422350

4、编译优化常规方案

5、大厂方案

猜你喜欢

转载自blog.csdn.net/m0_64420071/article/details/127535819