我的 debuggin apk 正在正常工作,但在模拟器 Pixel 3a api 30 中,版本在启动时崩溃
这是我在 android studio 中的错误日志
2021-02-25 10:20:52.264 6454-6454/? E/FlutterLoader: Flutter initialization failed.
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:178)
at io.flutter.view.FlutterMain.ensureInitializationComplete(FlutterMain.java:78)
at io.flutter.app.FlutterActivityDelegate.onCreate(FlutterActivityDelegate.java:145)
at io.flutter.app.FlutterActivity.onCreate(FlutterActivity.java:91)
at com.shoaibanwar.saray.MainActivity.onCreate(MainActivity.kt:9)
at android.app.Activity.performCreate(Activity.java:8000)
at android.app.Activity.performCreate(Activity.java:7984)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3422)
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:7656)
at java.lang.reflect.Method.invoke(Native Method)
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.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.loader.FlutterLoader$1.call(FlutterLoader.java:129)
at io.flutter.embedding.engine.loader.FlutterLoader$1.call(FlutterLoader.java:123)
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)
尝试更改 build.gradle 中的 abiFilters 位于 android/app/build
请参阅 abiFilters 的文档。
defaultConfig {
ndk {
abiFilters 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'mips', 'mips64', 'arm64-v8a'
}
}
仅构建 abiFilters 中指定的平台。如果您要在 x86 计算机上构建本地模拟器,则需要
'x86', 'x86_64'
。
常见问题:排除
'x86', 'x86_64'
以防止您的应用程序可供 Play 商店中的 x86 Android 设备或机器人使用,然后无法在本地模拟器上运行您的应用程序,而物理连接的 Android 设备则可以正常构建。
如果你想生成appbundle,只需将其添加到:
flutter/android/app/build.gradle
defaultConfig {
applicationId "com.example"
minSdkVersion 21
multiDexEnabled true
targetSdkVersion 30
}
signingConfigs {
release {
keyAlias [whatever]
keyPassword [whatever]
}
debug {
[whatever]
}
}
buildTypes {
release {
signingConfig signingConfigs.release
ndk {
abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86_64'
}
}
}
内部 buildTypes -> release:
ndk {
abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86_64'
}
我尝试在物理 Android 设备中调试时遇到此错误,只需删除 android/
中的 .gradle 文件夹在 android/app/build.gradle 中添加 ndk abiFilters
defaultConfig {
applicationId "com.devsig.cloudauthenticator"
minSdkVersion 21
targetSdk 32
versionCode 4
versionName "1.0.4"
multiDexEnabled true
signingConfig signingConfigs.debug
ndk {
abiFilters "armeabi", "x86", "armeabi-v7a", "x86_64", "mips",
"mips64", "arm64-v8a"
}
}
就我而言,我通过从命令行运行“颤振升级”解决了这个问题。