Vah*_*ouz 7 android google-play google-play-services android-studio flutter
我在 Wear OS 设备上进行 Google Play 商店测试时报告了此稳定性问题:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.alsat/com.alsat.MainActivity}: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dlopen failed: library "libflutter.so" not found
Run Code Online (Sandbox Code Playgroud)
Exception java.lang.RuntimeException: Unable to start activity ComponentInfo{com.alsat/com.alsat.MainActivity}: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dlopen failed: library "libflutter.so" not found
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3449)
at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3601)
at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2066)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loop (Looper.java:223)
at android.app.ActivityThread.main (ActivityThread.java:7651)
at java.lang.reflect.Method.invoke
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:947)
Caused by java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dlopen failed: library "libflutter.so" not found
at io.flutter.embedding.engine.loader.FlutterLoader.ensureInitializationComplete (FlutterLoader.java:345)
at io.flutter.embedding.engine.FlutterEngine.<init> (FlutterEngine.java:327)
at io.flutter.embedding.engine.FlutterEngine.<init> (FlutterEngine.java:207)
at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.setupFlutterEngine (FlutterActivityAndFragmentDelegate.java:272)
at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach (FlutterActivityAndFragmentDelegate.java:181)
at io.flutter.embedding.android.FlutterActivity.onCreate (FlutterActivity.java:495)
at android.app.Activity.performCreate (Activity.java:7998)
at android.app.Activity.performCreate (Activity.java:7978)
at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1309)
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3422)
Caused by java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dlopen failed: library "libflutter.so" not found
at java.util.concurrent.FutureTask.report (FutureTask.java:123)
at java.util.concurrent.FutureTask.get (FutureTask.java:193)
at io.flutter.embedding.engine.loader.FlutterLoader.ensureInitializationComplete (FlutterLoader.java:239)
Caused by java.lang.UnsatisfiedLinkError: dlopen failed: library "libflutter.so" not found
at java.lang.Runtime.loadLibrary0 (Runtime.java:1087)
at java.lang.Runtime.loadLibrary0 (Runtime.java:1008)
at java.lang.System.loadLibrary (System.java:1664)
at io.flutter.embedding.engine.FlutterJNI.loadLibrary (FlutterJNI.java:141)
at io.flutter.embedding.engine.loader.FlutterLoader$1.call (FlutterLoader.java:189)
at io.flutter.embedding.engine.loader.FlutterLoader$1.call (FlutterLoader.java:182)
at java.util.concurrent.FutureTask.run (FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
at java.lang.Thread.run (Thread.java:923)
Run Code Online (Sandbox Code Playgroud)
考虑使用abiFiltersAndroid Gradle 插件 API 来限制 APK 中支持的架构。这样做可以避免丢失libflutter.so运行时崩溃,例如:
android {
//...
defaultConfig {
ndk {
// Filter for architectures supported by Flutter.
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64'
}
}
}
Run Code Online (Sandbox Code Playgroud)
Flutter 引擎有x86和x86_64版本。在调试 Just-In-Time (JIT) 模式下使用模拟器时,Flutter 模块仍然可以正常运行。
参考: https: //docs.flutter.dev/add-to-app/android/project-setup
我通过将以下 abiFilters 添加到 android/app/build.gradle 来修复此问题,如下所示:
defaultConfig {
applicationId "com.your-project-name"
minSdkVersion 24
targetSdkVersion 33
ndk {
abiFilters 'arm64-v8a', 'armeabi-v7a'
}
}
Run Code Online (Sandbox Code Playgroud)
以及以下内容:
buildTypes {
release {
signingConfig signingConfigs.release
ndk {
abiFilters 'arm64-v8a', 'armeabi-v7a'
}
}
Run Code Online (Sandbox Code Playgroud)
}
它还有助于在为 Playstore 进行发布构建之前运行 flutter Upgrade 和 flutter clean。
| 归档时间: |
|
| 查看次数: |
5987 次 |
| 最近记录: |