Flutter初始化失败,java.lang.UnsatisfiedLinkError: dlopen失败:找不到库“libflutter.so”。

14

该应用在iOS上正常运行,但当我尝试在Android上运行时,会出现以下错误:


E/FlutterLoader( 9150): Flutter initialization failed.
E/FlutterLoader( 9150): java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dlopen failed: library "libflutter.so" not found
E/FlutterLoader( 9150):     at java.util.concurrent.FutureTask.report(FutureTask.java:123)
E/FlutterLoader( 9150):     at java.util.concurrent.FutureTask.get(FutureTask.java:193)
E/FlutterLoader( 9150):     at io.flutter.embedding.engine.loader.FlutterLoader.ensureInitializationComplete(FlutterLoader.java:178)
E/FlutterLoader( 9150):     at io.flutter.embedding.engine.FlutterEngine.<init>(FlutterEngine.java:289)
E/FlutterLoader( 9150):     at io.flutter.embedding.engine.FlutterEngine.<init>(FlutterEngine.java:192)
E/FlutterLoader( 9150):     at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.setupFlutterEngine(FlutterActivityAndFragmentDelegate.java:234)
E/FlutterLoader( 9150):     at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach(FlutterActivityAndFragmentDelegate.java:154)
E/FlutterLoader( 9150):     at io.flutter.embedding.android.FlutterActivity.onCreate(FlutterActivity.java:410)
E/FlutterLoader( 9150):     at android.app.Activity.performCreate(Activity.java:8000)
E/FlutterLoader( 9150):     at android.app.Activity.performCreate(Activity.java:7984)
E/FlutterLoader( 9150):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
E/FlutterLoader( 9150):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3422)
E/FlutterLoader( 9150):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)
E/FlutterLoader( 9150):     at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
E/FlutterLoader( 9150):     at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
E/FlutterLoader( 9150):     at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
E/FlutterLoader( 9150):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
E/FlutterLoader( 9150):     at android.os.Handler.dispatchMessage(Handler.java:106)
E/FlutterLoader( 9150):     at android.os.Looper.loop(Looper.java:223)
E/FlutterLoader( 9150):     at android.app.ActivityThread.main(ActivityThread.java:7656)
E/FlutterLoader( 9150):     at java.lang.reflect.Method.invoke(Native Method)
E/FlutterLoader( 9150):     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
E/FlutterLoader( 9150):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
E/FlutterLoader( 9150): Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: library "libflutter.so" not found
E/FlutterLoader( 9150):     at java.lang.Runtime.loadLibrary0(Runtime.java:1087)
E/FlutterLoader( 9150):     at java.lang.Runtime.loadLibrary0(Runtime.java:1008)
E/FlutterLoader( 9150):     at java.lang.System.loadLibrary(System.java:1664)
E/FlutterLoader( 9150):     at io.flutter.embedding.engine.loader.FlutterLoader$1.call(FlutterLoader.java:129)
E/FlutterLoader( 9150):     at io.flutter.embedding.engine.loader.FlutterLoader$1.call(FlutterLoader.java:123)
E/FlutterLoader( 9150):     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
E/FlutterLoader( 9150):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/FlutterLoader( 9150):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/FlutterLoader( 9150):     at java.lang.Thread.run(Thread.java:923)

我尝试了这篇文章中提到的所有修复方法,但都没有解决问题。


3
我的情况变得更奇怪了。这个应用程序在模拟器和真机上都可以运行,但在发布版本中却产生了这个异常。 - happy-san
1
你可以做的最好的事情是:摆脱Flutter :-D。如果不可能,要知道Flutter是一个缓存地狱,你必须成为一个缓存大师......这个错误可以通过清除设备/模拟器上的应用程序缓存或卸载先前在设备/模拟器上安装的应用程序来修复。 - longi
4个回答

4

我卸载并 清理项目(通过Android Studio)。然后再次运行,这对我有用。


2
卸载模拟器上的应用程序并重新启动模拟器,这对我有所帮助。

1

我之前为了缩短构建时间而删除了x86_64构建,导致出现了这个错误。如果删除它,模拟器将无法正常运行。

在android\app\build.gradle文件中。

android {
    buildTypes {
        release {
            ndk {
                // The line below only builds arm64-v8a 
                abiFilters  'arm64-v8a' // This breaks running the app in the emulator
                abiFilters 'armeabi-v7a','arm64-v8a','x86_64' // this includes all build targets 
                

            }
        }
    }
}

0
删除Flutter文件夹中的.gradle文件。然后运行应用程序,它将需要一些时间来下载新的gradle,当下载完成后,应用程序将成功运行。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接