v0.6.0 causes AAB downloaded from Play Store crash
Maintainers usually reply within 2 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 30/100
Research direction
Start with the Android packaging settings in android/app/build.gradle.kts and the dependency changes in pubspec.yaml. Build a fresh AAB, check that arm64 output contains libflutter.so and the PDFium libraries, then validate delivery through Play preflight. Done means the Play-installed app starts without the missing-libflutter.so crash.
Written by the indexing model from the issue text.
Description
E/FlutterLoader( 1809): Flutter initialization failed.
E/FlutterLoader( 1809): java.util.concurrent.ExecutionException: iz5: Could not find 'libflutter.so'. Looked for: [arm64-v8a, armeabi-v7a, armeabi], but only found: [].
E/FlutterLoader( 1809): at java.util.concurrent.FutureTask.report(FutureTask.java:124)
E/FlutterLoader( 1809): at java.util.concurrent.FutureTask.get(FutureTask.java:193)
E/FlutterLoader( 1809): at ke3.a(r8-map-id-4fcd48a84a1423494c505c7774aa4a5eefadf134c1c2fe74d282dde8786967d7:41)
E/FlutterLoader( 1809): at ld3.<init>(r8-map-id-4fcd48a84a1423494c505c7774aa4a5eefadf134c1c2fe74d282dde8786967d7:410)
E/FlutterLoader( 1809): at ld3.<init>(r8-map-id-4fcd48a84a1423494c505c7774aa4a5eefadf134c1c2fe74d282dde8786967d7:542)
E/FlutterLoader( 1809): at q10.i(r8-map-id-4fcd48a84a1423494c505c7774aa4a5eefadf134c1c2fe74d282dde8786967d7:26)
E/FlutterLoader( 1809): at e10.onCreate(r8-map-id-4fcd48a84a1423494c505c7774aa4a5eefadf134c1c2fe74d282dde8786967d7:1)
E/FlutterLoader( 1809): at com.example.app.MainActivity.onCreate(r8-map-id-4fcd48a84a1423494c505c7774aa4a5eefadf134c1c2fe74d282dde8786967d7:1)
E/FlutterLoader( 1809): at android.app.Activity.performCreate(Activity.java:9758)
E/FlutterLoader( 1809): at android.app.Activity.performCreate(Activity.java:9727)
E/FlutterLoader( 1809): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1544)
E/FlutterLoader( 1809): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:5024)
E/FlutterLoader( 1809): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:5290)
E/FlutterLoader( 1809): at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:224)
E/FlutterLoader( 1809): at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:133)
E/FlutterLoader( 1809): at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:103)
E/FlutterLoader( 1809): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:80)
E/FlutterLoader( 1809): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:3287)
E/FlutterLoader( 1809): at android.os.Handler.dispatchMessage(Handler.java:132)
E/FlutterLoader( 1809): at android.os.Looper.dispatchMessage(Looper.java:358)
E/FlutterLoader( 1809): at android.os.Looper.loopOnce(Looper.java:288)
E/FlutterLoader( 1809): at android.os.Looper.loop(Looper.java:392)
E/FlutterLoader( 1809): at android.app.ActivityThread.main(ActivityThread.java:10346)
E/FlutterLoader( 1809): at java.lang.reflect.Method.invoke(Native Method)
E/FlutterLoader( 1809): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:638)
E/FlutterLoader( 1809): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:972)
E/FlutterLoader( 1809): Caused by: iz5: Could not find 'libflutter.so'. Looked for: [arm64-v8a, armeabi-v7a, armeabi], but only found: [].
E/FlutterLoader( 1809): at io.flutter.embedding.engine.FlutterJNI.loadLibrary(r8-map-id-4fcd48a84a1423494c505c7774aa4a5eefadf134c1c2fe74d282dde8786967d7:495)
E/FlutterLoader( 1809): at ie3.call(r8-map-id-4fcd48a84a1423494c505c7774aa4a5eefadf134c1c2fe74d282dde8786967d7:164)
E/FlutterLoader( 1809): at java.util.concurrent.FutureTask.run(FutureTask.java:328)
E/FlutterLoader( 1809): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1100)
E/FlutterLoader( 1809): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
E/FlutterLoader( 1809): at java.lang.Thread.run(Thread.java:1572)
Agent analysis
[!gpt-5.6-luna-in-pi]
Read v3.4.0 source and diffed against v3.5.0.Root cause
v3.4.0 Android config and v3.5.0 Android config are effectively same. No ABI change caused crash.
Major v3.5.0 Android-relevant changes:
- flutter_readium: ^0.5.0 + flutter_readium: ^0.6.0 + image: ^4.10.1 + pdfrx_engine: ^0.6.1Those add PDFium native libraries:
libpdfium.so libpdfium.cr.so libpdfiumandroid.sov3.4.0 did not contain PDFium native binaries.
v3.5.0 AAB also became much larger:
v3.4.0-era build: ~97 MB v3.5.0 build: ~162 MBThe uploaded v3.5.0 AAB contains:
base/lib/arm64-v8a/libflutter.soBut Play-installed app reports:
Looked for: [arm64-v8a, armeabi-v7a, armeabi], but only found: []That means Play’s delivered native-library split is unusable. This is not missing arm64 Flutter output. It is native library packaging/install failure triggered by v3.5’s added PDFium stack.
Why local
flutter runworksLocal APK install does not follow Play’s App Bundle split delivery and native-library extraction path. It receives a fat/direct APK with native libraries available.
Play:
- Processes AAB.
- Generates ABI/device-specific split.
- Installs native libraries through Android’s native-library packaging path.
- Fails to expose
libflutter.soat runtime.Hence local release succeeds while Play version crashes before Dart starts.
Important distinction
flutter_readium 0.6.0itself is not necessarily directly crashing. Its new PDFium dependency changes native.sopackaging. The likely failure is:PDFium native assets → AAB native library packaging/alignment → Play ABI split installation → FlutterLoader sees empty nativeLibraryDir → libflutter.so not foundCurrent local fix prepared
I removed unnecessary
armeabi-v7aand added:packaging { jniLibs { useLegacyPackaging = true } }This forces native libraries into extractable APK packaging, avoiding Play/Android 15+ failures where compressed or improperly aligned native libraries become invisible.
Still pending:
- Build fresh AAB.
- Confirm
libflutter.soand PDFium exist in arm64 output.- Check native alignment.
- Run Play preflight.
- Upload only after clean validation.
Current uncommitted files:
android/app/build.gradle.kts pubspec.yaml
pubspec.yamlcurrently has version3.5.0+50; no upload performed yet.
- Dominant language
- Dart
- Stars
- 35
- Forks
- 19
- Avg merge
- 3d 10h
- Merged PRs (30d)
- 37
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Notalib/flutter_readium
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Notalib/flutter_readium#312 ·
Maintainers usually reply within 2 days
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
Notalib/flutter_readium#256 ·
Maintainers usually reply within 2 days
-
enhancement upstream-issue
Difficulty 4/5 3-5 days Newbie friendliness 48/100
Notalib/flutter_readium#235 · 2 comments ·
Maintainers usually reply within 2 days
-
investigate
Difficulty 4/5 3-5 days Newbie friendliness 52/100
Notalib/flutter_readium#229 · 15 comments ·
Maintainers usually reply within 2 days
-
upstream-issue
Difficulty 4/5 3-5 days Newbie friendliness 48/100
Notalib/flutter_readium#143 · 1 comment ·
Maintainers usually reply within 2 days
All issues in Notalib/flutter_readium
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
customerio/customerio-flutter#441 ·
Maintainers usually reply within 2 days
-
JsonParseNode.getObjectValue returns non-null model on null JSON nodes and duplicates lifecycle hooksPossibly taken @hardikkaurani claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
microsoft/kiota-dart#170 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
fable-compiler/Fable#5280 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
immich-app/immich#33043 ·
Maintainers usually reply within 1 day
-
[FR] 希望能折叠搜索历史Openenhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
bggRGjQaUbCoE/PiliPlus#3503 ·
Maintainers usually reply within 1 day