deveco studio:让全量编译从24 分钟降到14 分钟,增量效率也能翻倍

现在要给大家讲讲鸿蒙开发中怎么把编译速度提上去。这就是我通过AI学来的三招,能让全量编译从24分钟降到14分钟,增量效率也能翻倍。其实编译这事儿特别频繁,哪怕把速度稍微提一提,整个项目的开发效率都能跟着上去。接下来咱们就从配置和构建两个角度说说怎么干。 先说说编译配置。DevEco Studio默认给了增量和并行这些优化开关,平时都开着就行。用Build Analyzer看一下这几个开关是不是真开了,建议全设成true。我之前搞了个300万行ArkTS的大项目,光是依赖安装就花了8分钟。后来我在.ohpmrc里把统一锁文件和快速解压这两个功能打开,把重复安装的问题解决了,这一块耗时就直接掉到了1分钟以内。接着是语言编译的优化。因为在本地Debug的时候,JS中间产物根本用不上,6.0.1版本(API21)直接支持关掉不生成它,用ohos.arkCompile.noEmitJs = true这一行配置就行。虽然这样能省个两三分钟内存占用也少点,但Release模式下还是要留着混淆的功能。 打包这块也是大头。如果工程里有很多大的库文件而且还开了压缩,那时间就全耗在压缩上了。本地调试的时候包大小其实不重要,咱们就直接在module.json5里把compressNativeLibs设成false跳过这个过程。原本要1分钟的打包任务一下就缩短到了3秒。把这三招都用上后,全量编译从24分钟缩短到了14分钟,增量编译也从4分钟降到了2.5分钟。 还有个平衡内存和性能的配置得注意下。DevEco Studio有两种模式,一种是内存优先一种是性能优先。性能优先模式会常驻内存用来做任务缓存,这会占一点内存但速度快得多。具体改一下hvigor-config.json5里的enableMemoryCache和optimizationStrategy就能搞定。 再讲讲构建方式上的事儿。千万不要无脑点“Make All Modules”,除非你真的要把所有模块都编译一遍。要是只需要改一个模块或者一个Hap,那就用“Make Module‘***’”或者单独编译对应的Hap包就行。这样就不会把不用的东西都编译一遍浪费时间了。要是直接推包去真机上测试就直接用播放按钮启动增量调试吧,这样就不用每次都全量编译推送了。如果改代码后想马上看效果还可以用Hot Reload功能。 最后再提醒一句官网里有更多提升效率的干货,大家去搜一下“提升构建效率”就能看到啦。