集成库的时候真机运行一直是报这个错

来源:15-2 Android Native SDK集成流程【Android技术小试身手】

mengliu

2019-04-29

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.flutter_viewdemo, PID: 20586
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/com.example.flutter_viewdemo-1/base.apk”, zip file “/data/app/com.example.flutter_viewdemo-1/split_lib_dependencies_apk.apk”, zip file “/data/app/com.example.flutter_viewdemo-1/split_lib_slice_0_apk.apk”, zip file “/data/app/com.example.flutter_viewdemo-1/split_lib_slice_1_apk.apk”, zip file “/data/app/com.example.flutter_viewdemo-1/split_lib_slice_2_apk.apk”, zip file “/data/app/com.example.flutter_viewdemo-1/split_lib_slice_3_apk.apk”, zip file “/data/app/com.example.flutter_viewdemo-1/split_lib_slice_4_apk.apk”, zip file “/data/app/com.example.flutter_viewdemo-1/split_lib_slice_5_apk.apk”, zip file “/data/app/com.example.flutter_viewdemo-1/split_lib_slice_6_apk.apk”, zip file “/data/app/com.example.flutter_viewdemo-1/split_lib_slice_7_apk.apk”, zip file “/data/app/com.example.flutter_viewdemo-1/split_lib_slice_8_apk.apk”, zip file “/data/app/com.example.flutter_viewdemo-1/split_lib_slice_9_apk.apk”],nativeLibraryDirectories=[/data/app/com.example.flutter_viewdemo-1/lib/arm64, /data/app/com.example.flutter_viewdemo-1/base.apk!/lib/arm64-v8a, /data/app/com.example.flutter_viewdemo-1/split_lib_dependencies_apk.apk!/lib/arm64-v8a, /data/app/com.example.flutter_viewdemo-1/split_lib_slice_0_apk.apk!/lib/arm64-v8a, /data/app/com.example.flutter_viewdemo-1/split_lib_slice_1_apk.apk!/lib/arm64-v8a, /data/app/com.example.flutter_viewdemo-1/split_lib_slice_2_apk.apk!/lib/arm64-v8a, /data/app/com.example.flutter_viewdemo-1/split_lib_slice_3_apk.apk!/lib/arm64-v8a, /data/app/com.example.flutter_viewdemo-1/split_lib_slice_4_apk.apk!/lib/arm64-v8a, /data/app/com.example.flutter_viewdemo-1/split_lib_slice_5_apk.apk!/lib/arm64-v8a, /data/app/com.example.flutter_viewdemo-1/split_lib_slice_6_apk.apk!/lib/arm64-v8a, /data/app/com.example.flutter_viewdemo-1/split_lib_slice_7_apk.apk!/lib/arm64-v8a, /data/app/com.example.flutter_viewdemo-1/split_lib_slice_8_apk.apk!/lib/arm64-v8a, /data/app/com.example.flutter_viewdemo-1/split_lib_slice_9_apk.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]] couldn’t find "libflutter.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:984)
at java.lang.System.loadLibrary(System.java:1562)
at io.flutter.view.FlutterMain.startInitialization(FlutterMain.java:156)
at io.flutter.view.FlutterMain.startInitialization(FlutterMain.java:133)
at io.flutter.app.FlutterApplication.onCreate(FlutterApplication.java:22)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1025)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5548)
at android.app.ActivityThread.-wrap2(ActivityThread.java)
at android.app.ActivityThreadH.handleMessage(ActivityThread.java:1627)atandroid.os.Handler.dispatchMessage(Handler.java:102)atandroid.os.Looper.loop(Looper.java:163)atandroid.app.ActivityThread.main(ActivityThread.java:6393)atjava.lang.reflect.Method.invoke(NativeMethod)atcom.android.internal.os.ZygoteInitH.handleMessage(ActivityThread.java:1627) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:163) at android.app.ActivityThread.main(ActivityThread.java:6393) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInitH.handleMessage(ActivityThread.java:1627)atandroid.os.Handler.dispatchMessage(Handler.java:102)atandroid.os.Looper.loop(Looper.java:163)atandroid.app.ActivityThread.main(ActivityThread.java:6393)atjava.lang.reflect.Method.invoke(NativeMethod)atcom.android.internal.os.ZygoteInitMethodAndArgsCaller.run(ZygoteInit.java:933)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)

写回答

3回答

CrazyCodeBoy

2019-04-29

从log上开是由于couldn’t find "libflutter.so导致的,在build.gradle中对so架构过滤下,以及添加下packagingOptions:

defaultConfig {
        applicationId "org.devio.fluttertrip"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        ndk {
            abiFilters "armeabi-v7a","arm64-v8a","x86_64","x86" //只打包flutter所支持的架构,flutter没有armeabi架构的so,加x86的原因是为了能够兼容模拟器
        }
    }
...
packagingOptions {
    // 确保app与asr_plugin都依赖的libflutter.so merge时不冲突@https://github.com/card-io/card.io-Android-SDK/issues/186#issuecomment-427552552
    pickFirst 'lib/x86_64/libflutter.so'
    pickFirst 'lib/x86/libflutter.so'
    pickFirst 'lib/arm64-v8a/libflutter.so'
}

这个在课程中有讲哦,可参考下:https://git.imooc.com/coding-321/flutter_trip/src/master/android/app/build.gradle#L47

另外,上述配置完成之后建议删除所有build然后重新打开并运行项目试下。

0
0

慕工程8106173

2019-04-29

我也是...调一下午了

0
0

mengliu

提问者

2019-04-29

在android模式下  闪退  报错

在flutter 模式下是可以正常运行的

我用原生android项目集成的这个插件是没有问题的

0
0

Flutter从入门到进阶 实战携程网App 一网打尽核心技术

解锁Flutter开发新姿势,,系统掌握Flutter开发核心技术。

4788 学习 · 3274 问题

查看课程