专业的编程技术博客社区

网站首页 > 博客文章 正文

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

baijin 2024-11-15 16:16:12 博客文章 2 ℃ 0 评论

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、大厂方案

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表