Flutter应用发布Google Play时出现FragmentActivity.onStart启动错误
Flutter应用发布Google Play后启动崩溃(模拟器运行正常)
我将Flutter应用发布至Google Play Store后出现启动崩溃问题,但该应用在Android Studio的Pixel 2模拟器上可正常运行。

以下是Play Store控制台的完整崩溃日志:
FATAL EXCEPTION: main Process: com.perfectagency.ladyin, PID: 7833 java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/base.apk", zip file "/data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/split_config.x86.apk", zip file "/data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/split_config.xxhdpi.apk"],nativeLibraryDirectories=[/data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/lib/x86, /data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/base.apk!/lib/x86, /data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/split_config.x86.apk!/lib/x86, /data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/split_config.xxhdpi.apk!/lib/x86, /system/lib]]] couldn't find "libflutter.so" at rk.f.g(Unknown Source:472) at io.flutter.embedding.engine.a.<init>(Unknown Source:184) at io.flutter.embedding.engine.a.<init>(Unknown Source:12) at io.flutter.embedding.android.c.G(Unknown Source:106) at io.flutter.embedding.android.c.n(Unknown Source:7) at io.flutter.embedding.android.f.onAttach(Unknown Source:11) at androidx.fragment.app.Fragment.performAttach(Unknown Source:49) at androidx.fragment.app.x.c(Unknown Source:186) at androidx.fragment.app.x.m(Unknown Source:134) at androidx.fragment.app.FragmentManager.f0(Unknown Source:230) at androidx.fragment.app.FragmentManager.m1(Unknown Source:81) at androidx.fragment.app.FragmentManager.c0(Unknown Source:21) at androidx.fragment.app.FragmentManager.U(Unknown Source:38) at androidx.fragment.app.FragmentManager.z(Unknown Source:11) at androidx.fragment.app.j.c(Unknown Source:4) at androidx.fragment.app.FragmentActivity.onStart(Unknown Source:20) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1391) at android.app.Activity.performStart(Activity.java:7157) at android.app.ActivityThread.handleStartActivity(ActivityThread.java:2937) at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180) at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165) at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6669) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) Caused by: java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/base.apk", zip file "/data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/split_config.x86.apk", zip file "/data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/split_config.xxhdpi.apk"],nativeLibraryDirectories=[/data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/lib/x86, /data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/base.apk!/lib/x86, /data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/split_config.x86.apk!/lib/x86, /data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/split_config.xxhdpi.apk!/lib/x86, /system/lib]]] couldn't find "libflutter.so" at java.util.concurrent.FutureTask.report(FutureTask.java:123) at java.util.concurrent.FutureTask.get(FutureTask.java:193) at rk.f.g(Unknown Source:28) ... 29 more Caused by: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/base.apk", zip file "/data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/split_config.x86.apk", zip file "/data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/split_config.xxhdpi.apk"],nativeLibraryDirectories=[/data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/lib/x86, /data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/base.apk!/lib/x86, /data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/split_config.x86.apk!/lib/x86, /data/app/com.perfectagency.ladyin-tXBJfqHMJf1MBxpzThApTQ==/split_config.xxhdpi.apk!/lib/x86, /system/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.FlutterJNI.loadLibrary(Unknown Source:13) at rk.f$a.b(Unknown Source:18) at rk.f$a.call(Unknown Source:0) 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:764)
解决方法
核心问题是设备找不到Flutter核心native库libflutter.so,属于构建或发布配置问题,可按以下步骤排查:
配置ABI支持:打开
android/app/build.gradle,在defaultConfig块中添加NDK配置,覆盖主流架构:defaultConfig { // 保留原有配置 ndk { abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' } }清理并重新构建:执行命令清理缓存,重新生成发布包:
flutter clean flutter build appbundle --release检查App Bundle拆分设置:若使用App Bundle发布,确认Google Play的"APK大小优化"未遗漏必要架构库,可暂时关闭优化测试。
更新Flutter版本:旧版Flutter可能存在构建bug,执行
flutter upgrade更新至最新稳定版后重新构建。排查第三方依赖:检查项目依赖的第三方package是否含native库,可能存在架构冲突,可暂时移除可疑依赖测试。
内容的提问来源于stack exchange,提问作者Terminator
相关产品推荐
相关产品推荐

