Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google Play Store "library libflutter.so not found" error

enter image description hereI am getting this stability issue reported by Google Play store testing on a Wear OS device:

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
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)
like image 996
Vahit Behrouz Avatar asked Jun 12 '26 21:06

Vahit Behrouz


2 Answers

Consider using the abiFilters Android Gradle Plugin API to limit the supported architectures in your APK. Doing this avoids a missing libflutter.so runtime crash, for example:

android {
  //...
  defaultConfig {
    ndk {
      // Filter for architectures supported by Flutter.
      abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64'
    }
  }
}

The Flutter engine has an x86 and x86_64 version. When using an emulator in debug Just-In-Time (JIT) mode, the Flutter module still runs correctly.

Reference: https://docs.flutter.dev/add-to-app/android/project-setup

like image 150
SwiftNewling Avatar answered Jun 14 '26 10:06

SwiftNewling


I fixed this issue by adding the following abiFilters to android/app/build.gradle like so:

 defaultConfig {
    applicationId "com.your-project-name"
    minSdkVersion 24
    targetSdkVersion 33        
    ndk {
        abiFilters 'arm64-v8a', 'armeabi-v7a'
    }
}

and the following:

 buildTypes {
   release {
       signingConfig signingConfigs.release
        ndk {
            abiFilters 'arm64-v8a', 'armeabi-v7a'
        }
   }

}

It also helps to run flutter upgrade and flutter clean before you make your release build for the playstore.

like image 22
Firas AT Avatar answered Jun 14 '26 09:06

Firas AT



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!