flutter 。。。couldn't find "libflutter.so"

827 阅读1分钟

这个问题的原因是因为默认的打包命令flutter build apk只出现在“armeabi-v7a”文件夹下,根据下面的表格可以看到这样打包出来的apk是不支持ARMv8的cpu的,所以我们打包的话用这个命令flutter build apk --target-platform android-arm64

image.png

经过测试发现上面的方法打包出来的apk中flutter.so只包含在arm64-v8a的包中,这样armeabi-v7a的硬件就不能打开这个app了,然后我看到了这篇文章: medium.com/flutterpub/…

改为了如下配置:

android { 
  defaultConfig { 
     .... 
     .... 
     ndk { 
        abiFilters'armeabi-v7a' 
     }
   }
  .... 
  .... 
  .... 
}

然后打包的so文件夹只有这一个了

image.png

这个方法的前提是你的第三方so有这个cpu的so文件