Flutter 插件 找不到xxxx.so 找不到libflutter.so so库不全导致无法启动app

flutter v1.12.7基础功能差不多完善了,但是当你需要需要调用原生so库时 你就会发现非常蛋疼的事情,特别是自己公司的sdk 这时候你只能写插件 如果公司提供的so库很全,那么编写插件的过程将会很愉快,当时很不幸,当你自己的so库只有32位 或者只有64位时,你就大概率会遇到如下问题

  • 找不到自己sdk的so
2019-12-04 17:58:08.007 8581-8715/demo.o.com.flutter_smart_classroom E/NMT: Failed to load native library.
    java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader
    [DexPathList[[zip file "/data/app/demo.o.com.flutter_smart_classroom-IlK5XHJPVMuNFi7s6AUIjQ==/base.apk"]
    ,nativeLibraryDirectories=[/data/app/demo.o.com.flutter_smart_classroom-IlK5XHJPVMuNFi7s6AUIjQ==/lib/arm64, /data/app/demo.o.com.
    flutter_smart_classroom-IlK5XHJPVMuNFi7s6AUIjQ==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]] 
    couldn't find "libdmt_native_utils.so"
        at java.lang.Runtime.loadLibrary0(Runtime.java:1012)
        at java.lang.System.loadLibrary(System.java:1669)
        at com.nuance.dragon.toolkit.util.internal.NativeUtils.<clinit>(Unknown Source:2)
        at com.nuance.dragon.toolkit.util.internal.NativeUtils.isArmV7(Native Method)
        at com.nuance.dragon.toolkit.vocon.NativeVoconImpl.<clinit>(Unknown Source:10)
        at com.nuance.dragon.toolkit.vocon.VoconRecognizer.<clinit>(Unknown Source:0)
        at com.nuance.dragon.toolkit.vocon.VoconRecognizer.createVoconRecognizer(Unknown Source:0)
        at com.o.vui.asr.rec.wakeup.c$5.subscribe(Unknown Source:204)
        at io.reactivex.internal.operators.observable.ObservableCreate.subscribeActual(ObservableCreate.java:40)
        at io.reactivex.Observable.subscribe(Observable.java:10910)
        at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
        at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:109)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:207)
        at android.os.HandlerThread.run(HandlerThread.java:65)
2019-12-04 17:58:08.008 8581-8715/demo.o.com.flutter_smart_classroom E/smart_classroo: No implementation found for boolean 
com.nuance.dragon.toolkit.util.internal.NativeUtils.isArmV7() (tried Java_com_nuance_dragon_toolkit_util_internal_NativeUtils_isArmV7 and 
Java_com_nuance_dragon_toolkit_util_internal_NativeUtils_isArmV7__)

我插件里明明配置了过滤cpu架构了
在这里插入图片描述

为什么不行呢
难道是example没配,对哦应该把flutter项目目录下的android/app/build.gradle的android defaultConfig里面配上 ndk { abiFilters “armeabi-v7a” }
buildTypes也配上
在这里插入图片描述
机智如我。
哎等等。这是什么鬼?
couldn’t find “libflutter.so”

  --------- beginning of crash
2019-12-04 17:54:01.633 8276-8276/demo.o.com.flutter_smart_classroom E/AndroidRuntime: FATAL EXCEPTION: main
    Process: demo.o.com.flutter_smart_classroom, PID: 8276
    java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader
    [DexPathList[[zip file "/data/app/demo.o.com.flutter_smart_classroom-cHecrrVmyy3Ane6F5QL8bA==/base.apk"],
    nativeLibraryDirectories=[/data/app/demo.o.com.flutter_smart_classroom-cHecrrVmyy3Ane6F5QL8bA==/lib/arm,
     /data/app/demo.o.com.flutter_smart_classroom-cHecrrVmyy3Ane6F5QL8bA==/base.apk!/lib/armeabi-v7a, /system/lib, /system/vendor/lib]]] 
     couldn't find "libflutter.so"
        at java.lang.Runtime.loadLibrary0(Runtime.java:1012)
        at java.lang.System.loadLibrary(System.java:1669)
        at io.flutter.embedding.engine.loader.FlutterLoader.startInitialization(FlutterLoader.java:122)
        at io.flutter.embedding.engine.loader.FlutterLoader.startInitialization(FlutterLoader.java:93)
        at io.flutter.view.FlutterMain.startInitialization(FlutterMain.java:45)
        at io.flutter.app.FlutterApplication.onCreate(FlutterApplication.java:22)
        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1155)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6006)
        at android.app.ActivityThread.access$1200(ActivityThread.java:201)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1679)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:207)
        at android.app.ActivityThread.main(ActivityThread.java:6867)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:876)

这5000+的issues google的大佬们应该头应该大成这样了GOOgle
在这里插入图片描述
从茫茫多的回复中找到了解决我的问题的答案 指定打包参数

 打32的
 flutter build apk --debug --target-platform android-arm 
 打64的
 flutter build apk --debug --target-platform android-arm64

然后手动安装,

 adb install build/app/outputs/apk/debug/app-debug.apk 

当然hotload你就用不了嘞,时不时感觉回到了android gradle running?
不得不说flutter中还是有很多不如意的地方比如编写插件得在as里当android项目打开插件的android,xcode里当ios项目打开ios 不然依赖的地方都报红,编辑不来,运行参数问题感觉也是个bug 往android手机上运行时漏读了build.gradle的参数导致找不到libflutter.so,希望可以flutter图形工具越做越好 bug越来越少

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值