首先测试一下开源的几个flutter项目。
提要
先说一下,flutter现在没有原生支持arm64 macos,到我写的现在时间为止,还是用的Rosetta 2转译的x86代码。我的m1 macbook pro上运行一些flutter环境,大部分都是基于rosetta 2转译下运行的。
一个音乐播放器
git clone https://github.com/Sangwan5688/BlackHole cd BlackHole # set proxy on your computer to be able to request Google firstly # lookup dependencies flutter pub deps # install all dependencies flutter pub get -v
然后用android studio 打开BlackHole这个文件夹。
设置这个项目的SDK。然后编译、debug、安装到模拟器。
一个FlutterUnit项目,能很快查看到各种flutter的UI界面代码。方便未来使用。
但是我在自己的m1 mac上使用的时候遇到问题,出现NDK。“No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi”
通过google搜索,找到类似问题,
https://github.com/flutter/flutter/issues/76393
但是解决方法都不完美,有的说把所有ndk都删除了(这样很不负责任)。
后来问了一个老哥,他说在local.properties里面加入
ndk.dir=/User/alex/Library/Android/ndk/20.1.5948944
这里我下载了4个版本的ndk,20,21,22,23
在FlutterUnit项目中,其中20,21,22都能运行,23不行。
我看了一个教程,https://developer.android.com/studio/projects/configure-agp-ndk
以为在build.gradle文件中加入下面这个就行了
android { ndkPath "/Users/ndkPath/ndk21" // Point to your own NDK }
但是会报错,gradle说不认识android这个选项。。。
所以,我还是走老路子,在local.properties里面声明 ndk.dir=/path/to/ndk
所以就成功了。作者的这个很棒,还带了debug。真是周到。有幸还联络到了作者。
使用体验是真的好。
debug也挺详细的。M1的mac的风扇在狂转,比较烫。swap交换占用10GB 。哈哈哈
最后,送上一个好工具。
LibChecker - 应用架构查看App
https://github.com/zhaobozhen/LibChecker
推荐一个开源项目:LibChecker ,它可以查看你手机上已安装的包详细信息,不看不知道,自己看看才知道现在跨平台技术在现实中的运用情况,比如手机上应用使用 Flutter 、React Native 、Weex 的应用情况,所以可以看到,大前端和跨平台已经深入到各种开发需求中。据说闲鱼、微信也用了flutter的模块。
adb install libchecker.apk
看看什么应用用了什么技术
下载多个app,进行安装拆包测试。
但是我发现直接adb install 微信是不行的。看看其他方法吧。不过微信也没有什么参考意义