MacBook Pro 2021款 到手也有1个月时间了,买之前最困扰我的问题就是不知道M1 Pro芯片的MacBook编译Android项目,速度到底怎么样,M1 Pro对于Android开发是否还存在兼容性问题 ?
网上看了一大堆评测,大多数都是关于MacBook视频剪辑相关的评测,缺少Android编译相关的评测,所以今天特定进行了测试,希望对想要购买M1芯片MacBook的童鞋有所帮助。
如果有其他机型,无论是使用Mac、Windows、Linux的童鞋,都可以跑一下这个项目,并将测试结果发到评论区分享给大家,可以给大家一个对比参考 ~
设备配置
我使用的是MacBook Pro 2021 款 ,M1 Pro 10核 CPU,内存32GB,硬盘 512GB,系统版本 MacOS Monterey 12.1 ,电脑在测试前进行了重启,接着电源。
java 版本使用的是 OpenJdk 11
Android Studio 使用的是Arctic Fox 2020.3.1 Patch 4
Flutter版本为2.5.3
测试项目
为了更好的还原真实项目,这里的测试项目选用了滴滴的DoraemonKit
,并为了防止以后代码的更新,所以Clone
了一份代码 放在了我的Github中https://github.com/EthanCo/DoraemonKit
git clone git@github.com:EthanCo/DoraemonKit.git
我们使用github 先clone三次,分别把DoraemonKit
文件夹命名为DoraemonKit1
、DoraemonKit2
、DoraemonKit3
。
第一遍测试
编译Android原生项目
我们打开Android Studio,导入DoraemonKit1/Android
目录下的项目,等待第三方库下载完成。
为了避免网络波动影响编译速度的准确性,第三方库下载完毕后,我们需要把Android Studio 设置为离线模式
接着,点击Run app
按钮,进行编译
编译结果为57
秒
编译Flutter项目
关闭Android Studio
使用命令行进入DoraemonKit1/Flutter/example
目录下
首先,先执行Flutter pub get
,确保第三方库都已经有缓存
然后,执行Flutter build apk
,进行编译
编译结果为52.2
秒
第二遍测试
编译Android原生项目
打开Android Studio,导入DoraemonKit2/Android
目录下的项目,同样把Android Studio设为离线模式。
然后点击Run app
进行编译。
可以看到编译速度为57
秒。
编译Flutter项目
关闭Android Studio
使用命令行进入DoraemonKit2/Flutter/example
目录下
首先,先执行Flutter pub get
,确保第三方库都已经有缓存
然后,执行Flutter build apk
,进行编译
编译结果为40.2
秒
第三遍测试
编译Android原生项目
打开Android Studio,导入DoraemonKit3/Android
目录下的项目,同样把Android Studio设为离线模式。
然后点击Run app
进行编译。
可以看到编译速度为57
秒。
编译Flutter项目
关闭Android Studio
使用命令行进入DoraemonKit3/Flutter/example
目录下
首先,先执行Flutter pub get
,确保第三方库都已经有缓存
然后,执行Flutter build apk
,进行编译
编译结果为38.9
秒
对照组 : intel i7 11800H
这里我是使用ThinkPad P15v
笔记本电脑,系统是WIndows 10 (版本19042)
,配置是intel i7 11800H + 32G内存 + 1T固态硬盘
,Android Studio版本是Android Studio Bumblebee | 2021.1.1 Patch 3
。
同样重启了笔记本,插着电源,Clone了https://github.com/EthanCo/DoraemonKit 项目,使用Android Studio 打开,进行了sync,并设为离线模式。
编译结果如下
可以看到,对照组编译DoraemonKit3/Android
项目,平均耗时为100.67
秒。
还有一个明显的感知是 ThinkPad
这台笔记本,一编译风扇就狂转,而M1 Pro
芯片的MacBook Pro
完全听不到风扇的声音,就好像 "风扇不存在"
一样。
结论
可以看到,编译DoraemonKit3/Android
项目,平均耗时为57
秒
编译DoraemonKit3/Flutter/example
项目,平均耗时为43.8
秒
兼容性问题的话,就Room
库有遇到需要修改版本号的情况,具体看MacBook M1 编译Android项目报错 Exception: No native library is found for os.name=Mac and os.arch=aarch64,其他的,现在使用开发一个月了,都没有问题。
希望能给到想购买M1芯片 Mac 电脑的童鞋一些参考。
这个编译速度,对比Windows或者其他电脑,也不知道是快还是还是慢,苹果的宣传有没有水分 ?
如果有其他电脑的同学,也可以编译下项目,在留言区告诉大家具体的电脑配置和编译速度,给大家一个参考 ~