shorebird icon indicating copy to clipboard operation
shorebird copied to clipboard

fix: --flutter-version 3.24.3 has invalid flutter binaries

Open MarkZhongsh opened this issue 9 months ago • 14 comments

Shorebird version: 1.6.34

App ID: 42c91bdd-f4e7-40ac-b273-9c4bbdd63919

After creating apk by shorebird release -p android ---flutter-version 3.24.3 --artifact apk and installing apk, app crashed. I checked the apk's so by using "file" command on libflutter.so( and all other .so), it showed that libflutter.so: data. But I used as to build a release apk, and used the same command , it showed me "libflutter.so: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=77711dc3e28ead87416b4e79bb5815b725651d28, stripped"

Steps To Reproduce

  1. running shorebird release -p android ---flutter-version 3.24.3 --artifact apk
  2. extract the apk and check the .so files by using "file" command.
  3. see the error.

Expected Behavior

It should not crash and should show me the .so file is elf.

** Screenshot **

Image

** Crashed Log **

"/data/app/-1/base.apk!/lib/arm64-v8a/libflutter.so" .dynamic section header was not found 2025-04-18 14:57:09.361 4283-4283 FlutterLoader pid-4283 E Flutter initialization failed. java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/-1/base.apk!/lib/arm64-v8a/libflutter.so" .dynamic section header was not found at java.util.concurrent.FutureTask.report(FutureTask.java:94) at java.util.concurrent.FutureTask.get(FutureTask.java:164) at io.flutter.embedding.engine.loader.FlutterLoader.ensureInitializationComplete(FlutterLoader.java:260) at io.flutter.embedding.engine.FlutterEngineGroup.(FlutterEngineGroup.java:63) at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.setUpFlutterEngine(FlutterActivityAndFragmentDelegate.java:329) at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach(FlutterActivityAndFragmentDelegate.java:194) at io.flutter.embedding.android.FlutterActivity.onCreate(FlutterActivity.java:638) at android.app.Activity.performCreate(Activity.java:6854) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2709) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2817) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1556) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:163) at android.app.ActivityThread.main(ActivityThread.java:6388) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:930) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:820) Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/**-1/base.apk!/lib/arm64-v8a/libflutter.so" .dynamic section header was not found at java.lang.Runtime.loadLibrary0(Runtime.java:989) at java.lang.System.loadLibrary(System.java:1530) at io.flutter.embedding.engine.FlutterJNI.loadLibrary(FlutterJNI.java:152) at io.flutter.embedding.engine.loader.FlutterLoader$1.call(FlutterLoader.java:183) at io.flutter.embedding.engine.loader.FlutterLoader$1.call(FlutterLoader.java:176) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) at java.lang.Thread.run(Thread.java:760)

MarkZhongsh avatar Apr 18 '25 06:04 MarkZhongsh

Definitely seems unexpected. Also note you seem to have an extra - in the --flutter-version it only has two -.

eseidel avatar Apr 18 '25 14:04 eseidel

ELF is the expected format for a libapp.so on Android.

eseidel avatar Apr 18 '25 14:04 eseidel

It sounds like you're suggesting that the libflutter.so that shorebird is using for 3.24.3 is corrupted somehow?

eseidel avatar Apr 18 '25 14:04 eseidel

This appears to be the (internal) url in question: https://admin.shorebird.dev/apps/42c91bdd-f4e7-40ac-b273-9c4bbdd63919/releases/222034

That's Flutter version 3.24.3, 5a6dc546e8ecd01fe3b9527f082ff2d6864374f9

eseidel avatar Apr 18 '25 14:04 eseidel

The artifact buckets for 5a6dc546e8ecd01fe3b9527f082ff2d6864374f9 are indeed empty!

If you less the libflutter.so I presume it's just a text error message?

I wonder how you're ending up with that version of Flutter since it clearly seems invalid. Will investigate.

eseidel avatar Apr 18 '25 15:04 eseidel

Strange, that's definitely the version we vend for 3.24.3. Will fix.

eseidel avatar Apr 18 '25 15:04 eseidel

Hmm, worked for me in local testing:

eseidel@erics-mbp android_test %  shorebird release android --flutter-version=3.24.3      
✓ Fetching apps (0.2s)
Building Android app bundle with Flutter 3.24.3 (5a6dc546e8)
Resolving dependencies... 
Downloading packages... 
< async 2.11.0 (was 2.12.0) (2.13.0 available)
< boolean_selector 2.1.1 (was 2.1.2) (2.1.2 available)
< characters 1.3.0 (was 1.4.0) (1.4.0 available)
< clock 1.1.1 (was 1.1.2) (1.1.2 available)
< collection 1.18.0 (was 1.19.1) (1.19.1 available)
< fake_async 1.3.1 (was 1.3.2) (1.3.3 available)
< leak_tracker 10.0.5 (was 10.0.8) (10.0.9 available)
< leak_tracker_flutter_testing 3.0.5 (was 3.0.9) (3.0.9 available)
< lints 5.0.0 (was 5.1.1) (6.0.0 available)
< matcher 0.12.16+1 (was 0.12.17) (0.12.17 available)
  material_color_utilities 0.11.1 (0.12.0 available)
< meta 1.15.0 (was 1.16.0) (1.16.0 available)
< path 1.9.0 (was 1.9.1) (1.9.1 available)
> sky_engine 0.0.99 from sdk flutter (was 0.0.0 from sdk flutter)
< source_span 1.10.0 (was 1.10.1) (1.10.1 available)
< stack_trace 1.11.1 (was 1.12.1) (1.12.1 available)
< stream_channel 2.1.2 (was 2.1.4) (2.1.4 available)
< string_scanner 1.2.0 (was 1.4.1) (1.4.1 available)
< term_glyph 1.2.1 (was 1.2.2) (1.2.2 available)
< test_api 0.7.2 (was 0.7.4) (0.7.4 available)
  vector_math 2.1.4 (2.1.5 available)
< vm_service 14.2.5 (was 14.3.1) (15.0.0 available)
Changed 20 dependencies!
21 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.

Font asset "MaterialIcons-Regular.otf" was tree-shaken, reducing it from 1645184 to 1384 bytes (99.9% reduction). Tree-shaking can be disabled by providing the --no-tree-shake-icons flag when building your app.
[CXX1101] NDK at /Users/eseidel/Library/Android/sdk/ndk/23.1.7779620 did not have a source.properties file
[CXX1101] NDK at /Users/eseidel/Library/Android/sdk/ndk/23.1.7779620 did not have a source.properties file
[CXX1101] NDK at /Users/eseidel/Library/Android/sdk/ndk/23.1.7779620 did not have a source.properties file
[CXX1101] NDK at /Users/eseidel/Library/Android/sdk/ndk/23.1.7779620 did not have a source.properties file
[CXX1101] NDK at /Users/eseidel/Library/Android/sdk/ndk/23.1.7779620 did not have a source.properties file
[CXX1101] NDK at /Users/eseidel/Library/Android/sdk/ndk/23.1.7779620 did not have a source.properties file
[CXX1101] NDK at /Users/eseidel/Library/Android/sdk/ndk/23.1.7779620 did not have a source.properties file
Running Gradle task 'bundleRelease'...                             37.1s
✓ Built build/app/outputs/bundle/release/app-release.aab (24.9MB)
✓ Release version: 1.0.0+1 (1.7s)
✓ Fetching releases (0.1s)

🚀 Ready to create a new release!

📱 App: android_test (53a4b314-7dfe-4f2d-b2c7-815a09f6590e)
📦 Release Version: 1.0.0+1
🕹️  Platform: android
🐦 Flutter Version: 3.24.3 (5a6dc546e8)

Would you like to continue? (y/N) Yes
✓ Fetching releases (0.1s)
✓ Creating release (0.7s)
✓ Updating release status (0.1s)
✓ Uploading artifacts (2.6s)
✓ Updating release status (0.1s)

✅ Published Release 1.0.0+1!
Your next step is to upload the app bundle to the Play Store:
/Users/eseidel/Documents/GitHub/demos/android_test/build/app/outputs/bundle/release/app-release.aab

For information on uploading to the Play Store, see:
https://support.google.com/googleplay/android-developer/answer/9859152?hl=en

To create a patch for this release, run shorebird patch --platforms=android --release-version=1.0.0+1

Note: shorebird patch --platforms=android without the --release-version option will patch the current version of the app.


A new version of shorebird is available!
Run shorebird upgrade to upgrade.

eseidel avatar Apr 18 '25 15:04 eseidel

But the bucket in GCS looks empty?

https://console.cloud.google.com/storage/browser/download.shorebird.dev/flutter_infra_release/flutter/5a6dc546e8ecd01fe3b9527f082ff2d6864374f9;tab=objects?pageState=(%22StorageObjectListTable%22:(%22f%22:%22%255B%255D%22))&hl=en&project=code-push-prod&prefix=&forceOnObjectsSortingFiltering=false

eseidel avatar Apr 18 '25 15:04 eseidel

As does this bucket: https://console.cloud.google.com/storage/browser/download.shorebird.dev/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-5a6dc546e8ecd01fe3b9527f082ff2d6864374f9;tab=objects?pageState=(%22StorageObjectListTable%22:(%22f%22:%22%255B%255D%22))&hl=en&project=code-push-prod&prefix=&forceOnObjectsSortingFiltering=false

Something seems wrong 🤔

eseidel avatar Apr 18 '25 15:04 eseidel

Oh! Sorry I was looking up buckets by Flutter version. We store them by Engine version which is 033ec57900456ca7f8cd4bb59c2773a8ce27cb5d.

eseidel avatar Apr 18 '25 15:04 eseidel

The artifacts look fine: https://storage.googleapis.com/download.shorebird.dev/flutter_infra_release/flutter/033ec57900456ca7f8cd4bb59c2773a8ce27cb5d/android-arm64-release/artifacts.zip

eseidel@erics-mbp android_test % curl -O https://storage.googleapis.com/download.shorebird.dev/flutter_infra_release/flutter/033ec57900456ca7f8cd4bb59c2773a8ce27cb5d/android-arm64-release/artifacts.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 7467k  100 7467k    0     0  17.2M      0 --:--:-- --:--:-- --:--:-- 17.2M
eseidel@erics-mbp android_test % unzip artifacts.zip 
Archive:  artifacts.zip
  inflating: LICENSE.flutter_jar_zip.md  
  inflating: flutter.jar             
eseidel@erics-mbp android_test % unzip artifacts.zip 
eseidel@erics-mbp android_test % unzip flutter.jar 
Archive:  flutter.jar
  inflating: io/flutter/Log.class    
  inflating: io/flutter/Build$API_LEVELS.class  
  inflating: io/flutter/FlutterInjector$Builder.class  
  inflating: io/flutter/FlutterInjector$1.class  
  inflating: io/flutter/Build.class  
  inflating: io/flutter/FlutterInjector.class  
  inflating: io/flutter/FlutterInjector$Builder$NamedThreadFactory.class  
  inflating: io/flutter/BuildConfig.class  
  inflating: io/flutter/app/FlutterPlayStoreSplitApplication.class  
  inflating: io/flutter/app/FlutterPluginRegistry.class  
  inflating: io/flutter/app/FlutterActivityEvents.class  
  inflating: io/flutter/app/FlutterActivityDelegate$1$1.class  
  inflating: io/flutter/app/FlutterPluginRegistry$FlutterRegistrar.class  
  inflating: io/flutter/app/FlutterActivity.class  
  inflating: io/flutter/app/FlutterApplication.class  
  inflating: io/flutter/app/FlutterActivityDelegate.class  
  inflating: io/flutter/app/FlutterActivityDelegate$ViewFactory.class  
  inflating: io/flutter/app/FlutterFragmentActivity.class  
  inflating: io/flutter/app/FlutterActivityDelegate$1.class  
  inflating: io/flutter/plugin/platform/AccessibilityEventsDelegate.class  
  inflating: io/flutter/plugin/platform/SingleViewFakeWindowViewGroup.class  
  inflating: io/flutter/plugin/platform/PlatformPlugin$2.class  
  inflating: io/flutter/plugin/platform/PlatformPlugin.class  
  inflating: io/flutter/plugin/platform/PlatformPlugin$1.class  
  inflating: io/flutter/plugin/platform/ImageReaderPlatformViewRenderTarget$1.class  
  inflating: io/flutter/plugin/platform/PlatformViewsController$1.class  
  inflating: io/flutter/plugin/platform/VirtualDisplayController.class  
  inflating: io/flutter/plugin/platform/SingleViewPresentation$PresentationContext.class  
  inflating: io/flutter/plugin/platform/PlatformViewsAccessibilityDelegate.class  
  inflating: io/flutter/plugin/platform/VirtualDisplayController$OneTimeOnDrawListener$1.class  
  inflating: io/flutter/plugin/platform/SingleViewPresentation$PresentationState.class  
  inflating: io/flutter/plugin/platform/PlatformViewWrapper$1.class  
  inflating: io/flutter/plugin/platform/PlatformView.class  
  inflating: io/flutter/plugin/platform/VirtualDisplayController$2.class  
  inflating: io/flutter/plugin/platform/PlatformPlugin$3.class  
  inflating: io/flutter/plugin/platform/VirtualDisplayController$1.class  
  inflating: io/flutter/plugin/platform/SingleViewPresentation$ImmContext.class  
  inflating: io/flutter/plugin/platform/SurfaceTexturePlatformViewRenderTarget.class  
  inflating: io/flutter/plugin/platform/PlatformViewRegistry.class  
  inflating: io/flutter/plugin/platform/PlatformPlugin$PlatformPluginDelegate.class  
  inflating: io/flutter/plugin/platform/SurfaceTexturePlatformViewRenderTarget$1.class  
  inflating: io/flutter/plugin/platform/VirtualDisplayController$OneTimeOnDrawListener.class  
  inflating: io/flutter/plugin/platform/PlatformOverlayView.class  
  inflating: io/flutter/plugin/platform/PlatformViewsController.class  
  inflating: io/flutter/plugin/platform/WindowManagerHandler.class  
  inflating: io/flutter/plugin/platform/SingleViewPresentation.class  
  inflating: io/flutter/plugin/platform/PlatformViewWrapper.class  
  inflating: io/flutter/plugin/platform/PlatformViewRenderTarget.class  
  inflating: io/flutter/plugin/platform/VirtualDisplayController$2$1.class  
  inflating: io/flutter/plugin/platform/SurfaceProducerPlatformViewRenderTarget.class  
  inflating: io/flutter/plugin/platform/PlatformViewRegistryImpl.class  
  inflating: io/flutter/plugin/platform/ImageReaderPlatformViewRenderTarget.class  
  inflating: io/flutter/plugin/platform/SingleViewPresentation$AccessibilityDelegatingFrameLayout.class  
  inflating: io/flutter/plugin/platform/PlatformViewFactory.class  
  inflating: io/flutter/plugin/platform/SingleViewWindowManager.class  
  inflating: io/flutter/plugin/localization/LocalizationPlugin.class  
  inflating: io/flutter/plugin/localization/LocalizationPlugin$1.class  
  inflating: io/flutter/plugin/common/MethodChannel.class  
  inflating: io/flutter/plugin/common/EventChannel$1.class  
  inflating: io/flutter/plugin/common/ActivityLifecycleListener.class  
  inflating: io/flutter/plugin/common/PluginRegistry$UserLeaveHintListener.class  
  inflating: io/flutter/plugin/common/MethodCall.class  
  inflating: io/flutter/plugin/common/PluginRegistry$RequestPermissionsResultListener.class  
  inflating: io/flutter/plugin/common/EventChannel$EventSink.class  
  inflating: io/flutter/plugin/common/BasicMessageChannel$IncomingMessageHandler$1.class  
  inflating: io/flutter/plugin/common/JSONUtil.class  
  inflating: io/flutter/plugin/common/PluginRegistry.class  
  inflating: io/flutter/plugin/common/BinaryMessenger$BinaryMessageHandler.class  
  inflating: io/flutter/plugin/common/MethodCodec.class  
  inflating: io/flutter/plugin/common/ErrorLogResult.class  
  inflating: io/flutter/plugin/common/EventChannel$StreamHandler.class  
  inflating: io/flutter/plugin/common/BinaryMessenger$BinaryReply.class  
  inflating: io/flutter/plugin/common/MethodChannel$Result.class  
  inflating: io/flutter/plugin/common/PluginRegistry$PluginRegistrantCallback.class  
  inflating: io/flutter/plugin/common/PluginRegistry$NewIntentListener.class  
  inflating: io/flutter/plugin/common/BinaryCodec.class  
  inflating: io/flutter/plugin/common/StandardMethodCodec.class  
  inflating: io/flutter/plugin/common/PluginRegistry$WindowFocusChangedListener.class  
  inflating: io/flutter/plugin/common/EventChannel$IncomingStreamRequestHandler.class  
  inflating: io/flutter/plugin/common/BasicMessageChannel$MessageHandler.class  
  inflating: io/flutter/plugin/common/BasicMessageChannel$Reply.class  
  inflating: io/flutter/plugin/common/BinaryMessenger.class  
  inflating: io/flutter/plugin/common/StandardMessageCodec$ExposedByteArrayOutputStream.class  
  inflating: io/flutter/plugin/common/MethodChannel$IncomingMethodCallHandler$1.class  
  inflating: io/flutter/plugin/common/MessageCodec.class  
  inflating: io/flutter/plugin/common/EventChannel.class  
  inflating: io/flutter/plugin/common/BasicMessageChannel.class  
  inflating: io/flutter/plugin/common/MethodChannel$IncomingResultHandler.class  
  inflating: io/flutter/plugin/common/BinaryMessenger$TaskQueue.class  
  inflating: io/flutter/plugin/common/BasicMessageChannel$IncomingReplyHandler.class  
  inflating: io/flutter/plugin/common/FlutterException.class  
  inflating: io/flutter/plugin/common/PluginRegistry$Registrar.class  
  inflating: io/flutter/plugin/common/MethodChannel$IncomingMethodCallHandler.class  
  inflating: io/flutter/plugin/common/BinaryMessenger$TaskQueueOptions.class  
  inflating: io/flutter/plugin/common/EventChannel$IncomingStreamRequestHandler$EventSinkImplementation.class  
  inflating: io/flutter/plugin/common/StringCodec.class  
  inflating: io/flutter/plugin/common/PluginRegistry$ActivityResultListener.class  
  inflating: io/flutter/plugin/common/JSONMethodCodec.class  
  inflating: io/flutter/plugin/common/BasicMessageChannel$IncomingMessageHandler.class  
  inflating: io/flutter/plugin/common/BasicMessageChannel$1.class  
  inflating: io/flutter/plugin/common/PluginRegistry$ViewDestroyListener.class  
  inflating: io/flutter/plugin/common/JSONMessageCodec.class  
  inflating: io/flutter/plugin/common/StandardMessageCodec.class  
  inflating: io/flutter/plugin/common/MethodChannel$MethodCallHandler.class  
  inflating: io/flutter/plugin/editing/SpellCheckPlugin.class  
  inflating: io/flutter/plugin/editing/TextInputPlugin$InputTarget.class  
  inflating: io/flutter/plugin/editing/ImeSyncDeferringInsetsCallback$AnimationCallback.class  
  inflating: io/flutter/plugin/editing/ListenableEditingState.class  
  inflating: io/flutter/plugin/editing/TextEditingDelta.class  
  inflating: io/flutter/plugin/editing/TextInputPlugin$InputTarget$Type.class  
  inflating: io/flutter/plugin/editing/ListenableEditingState$EditingStateWatcher.class  
  inflating: io/flutter/plugin/editing/TextInputPlugin$2.class  
  inflating: io/flutter/plugin/editing/FlutterTextUtils.class  
  inflating: io/flutter/plugin/editing/ImeSyncDeferringInsetsCallback.class  
  inflating: io/flutter/plugin/editing/InputConnectionAdaptor$KeyboardDelegate.class  
  inflating: io/flutter/plugin/editing/ImeSyncDeferringInsetsCallback$1.class  
  inflating: io/flutter/plugin/editing/ListenableEditingState$1.class  
  inflating: io/flutter/plugin/editing/TextInputPlugin$MinMax.class  
  inflating: io/flutter/plugin/editing/ImeSyncDeferringInsetsCallback$InsetsListener.class  
  inflating: io/flutter/plugin/editing/InputConnectionAdaptor.class  
  inflating: io/flutter/plugin/editing/TextInputPlugin$1.class  
  inflating: io/flutter/plugin/editing/TextInputPlugin.class  
  inflating: io/flutter/plugin/mouse/MouseCursorPlugin$1.class  
  inflating: io/flutter/plugin/mouse/MouseCursorPlugin.class  
  inflating: io/flutter/plugin/mouse/MouseCursorPlugin$2.class  
  inflating: io/flutter/plugin/mouse/MouseCursorPlugin$MouseCursorViewDelegate.class  
  inflating: io/flutter/plugin/text/ProcessTextPlugin.class  
  inflating: io/flutter/embedding/engine/FlutterEngineCache.class  
  inflating: io/flutter/embedding/engine/FlutterEngineGroupCache.class  
  inflating: io/flutter/embedding/engine/FlutterEngineConnectionRegistry$DefaultFlutterAssets.class  
  inflating: io/flutter/embedding/engine/FlutterJNI$AsyncWaitForVsyncDelegate.class  
  inflating: io/flutter/embedding/engine/FlutterEngineConnectionRegistry$1.class  
  inflating: io/flutter/embedding/engine/FlutterEngineGroup$Options.class  
  inflating: io/flutter/embedding/engine/FlutterEngineConnectionRegistry$FlutterEngineContentProviderPluginBinding.class  
  inflating: io/flutter/embedding/engine/FlutterJNI$Factory.class  
  inflating: io/flutter/embedding/engine/FlutterEngineConnectionRegistry$FlutterEngineServicePluginBinding.class  
  inflating: io/flutter/embedding/engine/FlutterEngineGroup$1.class  
  inflating: io/flutter/embedding/engine/FlutterJNI.class  
  inflating: io/flutter/embedding/engine/FlutterEngineGroup.class  
  inflating: io/flutter/embedding/engine/FlutterEngineConnectionRegistry$FlutterEngineBroadcastReceiverPluginBinding.class  
  inflating: io/flutter/embedding/engine/FlutterShellArgs.class  
  inflating: io/flutter/embedding/engine/FlutterOverlaySurface.class  
  inflating: io/flutter/embedding/engine/FlutterEngine$1.class  
  inflating: io/flutter/embedding/engine/FlutterEngineConnectionRegistry.class  
  inflating: io/flutter/embedding/engine/FlutterEngineConnectionRegistry$FlutterEngineActivityPluginBinding.class  
  inflating: io/flutter/embedding/engine/FlutterJNI$AccessibilityDelegate.class  
  inflating: io/flutter/embedding/engine/FlutterEngine.class  
  inflating: io/flutter/embedding/engine/FlutterEngine$EngineLifecycleListener.class  
  inflating: io/flutter/embedding/engine/deferredcomponents/PlayStoreDeferredComponentManager$FeatureInstallStateUpdatedListener.class  
  inflating: io/flutter/embedding/engine/deferredcomponents/PlayStoreDeferredComponentManager.class  
  inflating: io/flutter/embedding/engine/deferredcomponents/PlayStoreDeferredComponentManager$1.class  
  inflating: io/flutter/embedding/engine/deferredcomponents/DeferredComponentManager.class  
  inflating: io/flutter/embedding/engine/plugins/FlutterPlugin.class  
  inflating: io/flutter/embedding/engine/plugins/PluginRegistry.class  
  inflating: io/flutter/embedding/engine/plugins/FlutterPlugin$FlutterPluginBinding.class  
  inflating: io/flutter/embedding/engine/plugins/FlutterPlugin$FlutterAssets.class  
  inflating: io/flutter/embedding/engine/plugins/activity/ActivityControlSurface.class  
  inflating: io/flutter/embedding/engine/plugins/activity/ActivityAware.class  
  inflating: io/flutter/embedding/engine/plugins/activity/ActivityPluginBinding$OnSaveInstanceStateListener.class  
  inflating: io/flutter/embedding/engine/plugins/activity/ActivityPluginBinding.class  
  inflating: io/flutter/embedding/engine/plugins/broadcastreceiver/BroadcastReceiverAware.class  
  inflating: io/flutter/embedding/engine/plugins/broadcastreceiver/BroadcastReceiverControlSurface.class  
  inflating: io/flutter/embedding/engine/plugins/broadcastreceiver/BroadcastReceiverPluginBinding.class  
  inflating: io/flutter/embedding/engine/plugins/shim/ShimPluginRegistry$ShimRegistrarAggregate.class  
  inflating: io/flutter/embedding/engine/plugins/shim/ShimPluginRegistry$1.class  
  inflating: io/flutter/embedding/engine/plugins/shim/ShimPluginRegistry.class  
  inflating: io/flutter/embedding/engine/plugins/shim/ShimRegistrar.class  
  inflating: io/flutter/embedding/engine/plugins/contentprovider/ContentProviderControlSurface.class  
  inflating: io/flutter/embedding/engine/plugins/contentprovider/ContentProviderAware.class  
  inflating: io/flutter/embedding/engine/plugins/contentprovider/ContentProviderPluginBinding.class  
  inflating: io/flutter/embedding/engine/plugins/service/ServiceControlSurface.class  
  inflating: io/flutter/embedding/engine/plugins/service/ServicePluginBinding.class  
  inflating: io/flutter/embedding/engine/plugins/service/ServiceAware.class  
  inflating: io/flutter/embedding/engine/plugins/service/ServiceAware$OnModeChangeListener.class  
  inflating: io/flutter/embedding/engine/plugins/lifecycle/HiddenLifecycleReference.class  
  inflating: io/flutter/embedding/engine/plugins/util/GeneratedPluginRegister.class  
  inflating: io/flutter/embedding/engine/mutatorsstack/FlutterMutatorView$1.class  
  inflating: io/flutter/embedding/engine/mutatorsstack/FlutterMutatorsStack.class  
  inflating: io/flutter/embedding/engine/mutatorsstack/FlutterMutatorView.class  
  inflating: io/flutter/embedding/engine/mutatorsstack/FlutterMutatorsStack$FlutterMutator.class  
  inflating: io/flutter/embedding/engine/mutatorsstack/FlutterMutatorsStack$FlutterMutatorType.class  
  inflating: io/flutter/embedding/engine/dart/DartExecutor$1.class  
  inflating: io/flutter/embedding/engine/dart/DartExecutor.class  
  inflating: io/flutter/embedding/engine/dart/DartMessenger$Reply.class  
  inflating: io/flutter/embedding/engine/dart/DartExecutor$DartEntrypoint.class  
  inflating: io/flutter/embedding/engine/dart/DartMessenger$ConcurrentTaskQueue.class  
  inflating: io/flutter/embedding/engine/dart/DartExecutor$DefaultBinaryMessenger.class  
  inflating: io/flutter/embedding/engine/dart/DartMessenger$1.class  
  inflating: io/flutter/embedding/engine/dart/DartMessenger$TaskQueueToken.class  
  inflating: io/flutter/embedding/engine/dart/DartMessenger$DefaultTaskQueueFactory.class  
  inflating: io/flutter/embedding/engine/dart/DartMessenger$SerialTaskQueue.class  
  inflating: io/flutter/embedding/engine/dart/DartMessenger$TaskQueueFactory.class  
  inflating: io/flutter/embedding/engine/dart/DartMessenger$HandlerInfo.class  
  inflating: io/flutter/embedding/engine/dart/PlatformMessageHandler.class  
  inflating: io/flutter/embedding/engine/dart/DartExecutor$DartCallback.class  
  inflating: io/flutter/embedding/engine/dart/PlatformTaskQueue.class  
  inflating: io/flutter/embedding/engine/dart/DartExecutor$IsolateServiceIdListener.class  
  inflating: io/flutter/embedding/engine/dart/DartMessenger$DartMessengerTaskQueue.class  
  inflating: io/flutter/embedding/engine/dart/DartMessenger.class  
  inflating: io/flutter/embedding/engine/dart/DartMessenger$BufferedMessageInfo.class  
  inflating: io/flutter/embedding/engine/renderer/FlutterRenderer$SurfaceTextureRegistryEntry.class  
  inflating: io/flutter/embedding/engine/renderer/FlutterRenderer$ImageReaderSurfaceProducer.class  
  inflating: io/flutter/embedding/engine/renderer/FlutterRenderer.class  
  inflating: io/flutter/embedding/engine/renderer/SurfaceTextureWrapper.class  
  inflating: io/flutter/embedding/engine/renderer/RenderSurface.class  
  inflating: io/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeature.class  
  inflating: io/flutter/embedding/engine/renderer/FlutterRenderer$ImageTextureRegistryEntry.class  
  inflating: io/flutter/embedding/engine/renderer/SurfaceTextureSurfaceProducer.class  
  inflating: io/flutter/embedding/engine/renderer/FlutterRenderer$ImageReaderSurfaceProducer$PerImageReader.class  
  inflating: io/flutter/embedding/engine/renderer/FlutterRenderer$2.class  
  inflating: io/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureState.class  
  inflating: io/flutter/embedding/engine/renderer/FlutterUiDisplayListener.class  
  inflating: io/flutter/embedding/engine/renderer/FlutterRenderer$ImageReaderSurfaceProducer$PerImage.class  
  inflating: io/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureType.class  
  inflating: io/flutter/embedding/engine/renderer/FlutterRenderer$TextureFinalizerRunnable.class  
  inflating: io/flutter/embedding/engine/renderer/FlutterRenderer$1.class  
  inflating: io/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics.class  
  inflating: io/flutter/embedding/engine/systemchannels/ProcessTextChannel$ProcessTextMethodHandler.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformChannel$SystemChromeStyle.class  
  inflating: io/flutter/embedding/engine/systemchannels/NavigationChannel.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformChannel$HapticFeedbackType.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformChannel$SoundType.class  
  inflating: io/flutter/embedding/engine/systemchannels/SpellCheckChannel$SpellCheckMethodHandler.class  
  inflating: io/flutter/embedding/engine/systemchannels/BackGestureChannel.class  
  inflating: io/flutter/embedding/engine/systemchannels/SettingsChannel$ConfigurationQueue$1.class  
  inflating: io/flutter/embedding/engine/systemchannels/BackGestureChannel$1.class  
  inflating: io/flutter/embedding/engine/systemchannels/LocalizationChannel$LocalizationMessageHandler.class  
  inflating: io/flutter/embedding/engine/systemchannels/TextInputChannel$TextCapitalization.class  
  inflating: io/flutter/embedding/engine/systemchannels/SettingsChannel$MessageBuilder.class  
  inflating: io/flutter/embedding/engine/systemchannels/NavigationChannel$1.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformViewsChannel$PlatformViewBufferResized.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformChannel$ClipboardContentFormat.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformViewsChannel$PlatformViewCreationRequest$RequestedDisplayMode.class  
  inflating: io/flutter/embedding/engine/systemchannels/MouseCursorChannel.class  
  inflating: io/flutter/embedding/engine/systemchannels/SettingsChannel$ConfigurationQueue$SentConfiguration.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformChannel$SystemUiOverlay.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformChannel$Brightness.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformChannel$AppSwitcherDescription.class  
  inflating: io/flutter/embedding/engine/systemchannels/SystemChannel.class  
  inflating: io/flutter/embedding/engine/systemchannels/KeyEventChannel.class  
  inflating: io/flutter/embedding/engine/systemchannels/MouseCursorChannel$MouseCursorMethodHandler.class  
  inflating: io/flutter/embedding/engine/systemchannels/TextInputChannel$1.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformViewsChannel.class  
  inflating: io/flutter/embedding/engine/systemchannels/TextInputChannel$TextInputMethodHandler.class  
  inflating: io/flutter/embedding/engine/systemchannels/KeyboardChannel.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformViewsChannel$PlatformViewsHandler.class  
  inflating: io/flutter/embedding/engine/systemchannels/LifecycleChannel$AppLifecycleState.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformViewsChannel$PlatformViewCreationRequest.class  
  inflating: io/flutter/embedding/engine/systemchannels/LifecycleChannel.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformChannel.class  
  inflating: io/flutter/embedding/engine/systemchannels/MouseCursorChannel$1.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformChannel$1.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformViewsChannel$PlatformViewTouch.class  
  inflating: io/flutter/embedding/engine/systemchannels/TextInputChannel$InputType.class  
  inflating: io/flutter/embedding/engine/systemchannels/DeferredComponentChannel$1.class  
  inflating: io/flutter/embedding/engine/systemchannels/TextInputChannel$TextInputType.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformChannel$SystemUiMode.class  
  inflating: io/flutter/embedding/engine/systemchannels/ProcessTextChannel$1.class  
  inflating: io/flutter/embedding/engine/systemchannels/SpellCheckChannel$1.class  
  inflating: io/flutter/embedding/engine/systemchannels/RestorationChannel$1.class  
  inflating: io/flutter/embedding/engine/systemchannels/TextInputChannel$TextEditState.class  
  inflating: io/flutter/embedding/engine/systemchannels/KeyboardChannel$1.class  
  inflating: io/flutter/embedding/engine/systemchannels/KeyEventChannel$FlutterKeyEvent.class  
  inflating: io/flutter/embedding/engine/systemchannels/DeferredComponentChannel.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformChannel$2.class  
  inflating: io/flutter/embedding/engine/systemchannels/SettingsChannel$ConfigurationQueue.class  
  inflating: io/flutter/embedding/engine/systemchannels/RestorationChannel.class  
  inflating: io/flutter/embedding/engine/systemchannels/KeyboardChannel$KeyboardMethodHandler.class  
  inflating: io/flutter/embedding/engine/systemchannels/LocalizationChannel$1.class  
  inflating: io/flutter/embedding/engine/systemchannels/SettingsChannel.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformViewsChannel$1.class  
  inflating: io/flutter/embedding/engine/systemchannels/TextInputChannel.class  
  inflating: io/flutter/embedding/engine/systemchannels/SettingsChannel$PlatformBrightness.class  
  inflating: io/flutter/embedding/engine/systemchannels/TextInputChannel$Configuration$Autofill.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformViewsChannel$PlatformViewResizeRequest.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformViewsChannel$PlatformViewBufferSize.class  
  inflating: io/flutter/embedding/engine/systemchannels/KeyEventChannel$EventResponseHandler.class  
  inflating: io/flutter/embedding/engine/systemchannels/LifecycleChannel$1.class  
  inflating: io/flutter/embedding/engine/systemchannels/AccessibilityChannel$1.class  
  inflating: io/flutter/embedding/engine/systemchannels/SpellCheckChannel.class  
  inflating: io/flutter/embedding/engine/systemchannels/TextInputChannel$Configuration.class  
  inflating: io/flutter/embedding/engine/systemchannels/AccessibilityChannel$AccessibilityMessageHandler.class  
  inflating: io/flutter/embedding/engine/systemchannels/ProcessTextChannel.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformChannel$PlatformMessageHandler.class  
  inflating: io/flutter/embedding/engine/systemchannels/LocalizationChannel.class  
  inflating: io/flutter/embedding/engine/systemchannels/AccessibilityChannel.class  
  inflating: io/flutter/embedding/engine/systemchannels/PlatformChannel$DeviceOrientation.class  
  inflating: io/flutter/embedding/engine/systemchannels/RestorationChannel$2.class  
  inflating: io/flutter/embedding/engine/loader/FlutterLoader$Settings.class  
  inflating: io/flutter/embedding/engine/loader/ResourceExtractor$1.class  
  inflating: io/flutter/embedding/engine/loader/FlutterLoader$1.class  
  inflating: io/flutter/embedding/engine/loader/ResourceExtractor.class  
  inflating: io/flutter/embedding/engine/loader/FlutterLoader$InitResult.class  
  inflating: io/flutter/embedding/engine/loader/ResourceExtractor$ExtractTask.class  
  inflating: io/flutter/embedding/engine/loader/FlutterApplicationInfo.class  
  inflating: io/flutter/embedding/engine/loader/FlutterLoader.class  
  inflating: io/flutter/embedding/engine/loader/ApplicationInfoLoader.class  
  inflating: io/flutter/embedding/android/FlutterPlayStoreSplitApplication.class  
  inflating: io/flutter/embedding/android/KeyboardManager.class  
  inflating: io/flutter/embedding/android/ExclusiveAppComponent.class  
  inflating: io/flutter/embedding/android/FlutterTextureView$1.class  
  inflating: io/flutter/embedding/android/KeyboardMap$TogglingGoal.class  
  inflating: io/flutter/embedding/android/AndroidTouchProcessor$PointerDeviceKind.class  
  inflating: io/flutter/embedding/android/KeyData$Type.class  
  inflating: io/flutter/embedding/android/FlutterView$1.class  
  inflating: io/flutter/embedding/android/AndroidTouchProcessor$PointerSignalKind.class  
  inflating: io/flutter/embedding/android/FlutterFragment$ActivityCallThrough.class  
  inflating: io/flutter/embedding/android/KeyboardManager$Responder$OnKeyEventHandledCallback.class  
  inflating: io/flutter/embedding/android/MotionEventTracker$MotionEventId.class  
  inflating: io/flutter/embedding/android/FlutterTextureView.class  
  inflating: io/flutter/embedding/android/KeyboardManager$Responder.class  
  inflating: io/flutter/embedding/android/FlutterFragment$NewEngineFragmentBuilder.class  
  inflating: io/flutter/embedding/android/FlutterImageView.class  
  inflating: io/flutter/embedding/android/AndroidTouchProcessor.class  
  inflating: io/flutter/embedding/android/FlutterView$4.class  
  inflating: io/flutter/embedding/android/FlutterEngineConfigurator.class  
  inflating: io/flutter/embedding/android/FlutterFragmentActivity$NewEngineInGroupIntentBuilder.class  
  inflating: io/flutter/embedding/android/KeyboardMap.class  
  inflating: io/flutter/embedding/android/KeyboardManager$ViewDelegate.class  
  inflating: io/flutter/embedding/android/KeyData$DeviceType.class  
  inflating: io/flutter/embedding/android/KeyboardManager$PerEventCallbackBuilder$Callback.class  
  inflating: io/flutter/embedding/android/FlutterFragment$CachedEngineFragmentBuilder.class  
  inflating: io/flutter/embedding/android/FlutterActivity$NewEngineIntentBuilder.class  
  inflating: io/flutter/embedding/android/KeyboardManager$CharacterCombiner.class  
  inflating: io/flutter/embedding/android/RenderMode.class  
  inflating: io/flutter/embedding/android/AndroidTouchProcessor$PointerChange.class  
  inflating: io/flutter/embedding/android/MotionEventTracker.class  
  inflating: io/flutter/embedding/android/FlutterView$3.class  
  inflating: io/flutter/embedding/android/FlutterView.class  
  inflating: io/flutter/embedding/android/FlutterSurfaceView.class  
  inflating: io/flutter/embedding/android/FlutterFragment$2.class  
  inflating: io/flutter/embedding/android/FlutterActivityLaunchConfigs$BackgroundMode.class  
  inflating: io/flutter/embedding/android/FlutterFragmentActivity$CachedEngineIntentBuilder.class  
  inflating: io/flutter/embedding/android/FlutterActivityAndFragmentDelegate$1.class  
  inflating: io/flutter/embedding/android/FlutterImageView$SurfaceKind.class  
  inflating: io/flutter/embedding/android/KeyEmbedderResponder$1.class  
  inflating: io/flutter/embedding/android/KeyData.class  
  inflating: io/flutter/embedding/android/FlutterFragmentActivity$NewEngineIntentBuilder.class  
  inflating: io/flutter/embedding/android/FlutterActivityAndFragmentDelegate$Host.class  
  inflating: io/flutter/embedding/android/FlutterActivity.class  
  inflating: io/flutter/embedding/android/KeyboardMap$PressingGoal.class  
  inflating: io/flutter/embedding/android/FlutterActivityAndFragmentDelegate$DelegateFactory.class  
  inflating: io/flutter/embedding/android/KeyboardMap$1.class  
  inflating: io/flutter/embedding/android/KeyboardMap$2.class  
  inflating: io/flutter/embedding/android/FlutterView$2.class  
  inflating: io/flutter/embedding/android/FlutterSurfaceView$1.class  
  inflating: io/flutter/embedding/android/FlutterActivity$CachedEngineIntentBuilder.class  
  inflating: io/flutter/embedding/android/FlutterView$FlutterEngineAttachmentListener.class  
  inflating: io/flutter/embedding/android/KeyEmbedderResponder.class  
  inflating: io/flutter/embedding/android/FlutterFragmentActivity.class  
  inflating: io/flutter/embedding/android/TransparencyMode.class  
  inflating: io/flutter/embedding/android/FlutterFragment.class  
  inflating: io/flutter/embedding/android/FlutterActivityAndFragmentDelegate$2.class  
  inflating: io/flutter/embedding/android/KeyboardManager$1.class  
  inflating: io/flutter/embedding/android/KeyChannelResponder.class  
  inflating: io/flutter/embedding/android/FlutterFragment$NewEngineInGroupFragmentBuilder.class  
  inflating: io/flutter/embedding/android/FlutterImageView$1.class  
  inflating: io/flutter/embedding/android/FlutterActivity$1.class  
  inflating: io/flutter/embedding/android/FlutterActivity$NewEngineInGroupIntentBuilder.class  
  inflating: io/flutter/embedding/android/KeyboardMap$KeyPair.class  
  inflating: io/flutter/embedding/android/FlutterView$5.class  
  inflating: io/flutter/embedding/android/FlutterActivityAndFragmentDelegate.class  
  inflating: io/flutter/embedding/android/FlutterActivityLaunchConfigs.class  
  inflating: io/flutter/embedding/android/FlutterView$ZeroSides.class  
  inflating: io/flutter/embedding/android/WindowInfoRepositoryCallbackAdapterWrapper.class  
  inflating: io/flutter/embedding/android/KeyboardManager$PerEventCallbackBuilder.class  
  inflating: io/flutter/embedding/android/FlutterEngineProvider.class  
  inflating: io/flutter/embedding/android/FlutterFragment$1.class  
  inflating: io/flutter/embedding/android/FlutterSurfaceView$2.class  
  inflating: io/flutter/view/AccessibilityBridge$1.class  
  inflating: io/flutter/view/AccessibilityBridge$SemanticsNode.class  
  inflating: io/flutter/view/TextureRegistry$SurfaceTextureEntry.class  
  inflating: io/flutter/view/AccessibilityBridge$StringAttribute.class  
  inflating: io/flutter/view/FlutterNativeView$EngineLifecycleListenerImpl.class  
  inflating: io/flutter/view/AccessibilityBridge.class  
  inflating: io/flutter/view/AccessibilityBridge$CustomAccessibilityAction.class  
  inflating: io/flutter/view/FlutterView$1.class  
  inflating: io/flutter/view/FlutterView$FirstFrameListener.class  
  inflating: io/flutter/view/AccessibilityBridge$AccessibilityFeature.class  
  inflating: io/flutter/view/TextureRegistry$SurfaceProducer.class  
  inflating: io/flutter/view/AccessibilityBridge$TextDirection.class  
  inflating: io/flutter/view/TextureRegistry.class  
  inflating: io/flutter/view/FlutterMain.class  
  inflating: io/flutter/view/AccessibilityBridge$OnAccessibilityChangeListener.class  
  inflating: io/flutter/view/AccessibilityBridge$SpellOutStringAttribute.class  
  inflating: io/flutter/view/VsyncWaiter.class  
  inflating: io/flutter/view/AccessibilityBridge$4.class  
  inflating: io/flutter/view/FlutterRunArguments.class  
  inflating: io/flutter/view/TextureRegistry$ImageConsumer.class  
  inflating: io/flutter/view/FlutterNativeView$1.class  
  inflating: io/flutter/view/AccessibilityBridge$LocaleStringAttribute.class  
  inflating: io/flutter/view/TextureRegistry$GLTextureConsumer.class  
  inflating: io/flutter/view/TextureRegistry$OnTrimMemoryListener.class  
  inflating: io/flutter/view/AccessibilityViewEmbedder$ViewAndId.class  
  inflating: io/flutter/view/AccessibilityViewEmbedder.class  
  inflating: io/flutter/view/AccessibilityBridge$5.class  
  inflating: io/flutter/view/TextureRegistry$ImageTextureEntry.class  
  inflating: io/flutter/view/FlutterView$3.class  
  inflating: io/flutter/view/FlutterView.class  
  inflating: io/flutter/view/VsyncWaiter$DisplayListener.class  
  inflating: io/flutter/view/AccessibilityBridge$Action.class  
  inflating: io/flutter/view/VsyncWaiter$FrameCallback.class  
  inflating: io/flutter/view/AccessibilityBridge$3.class  
  inflating: io/flutter/view/FlutterView$SurfaceTextureRegistryEntry.class  
  inflating: io/flutter/view/FlutterView$Provider.class  
  inflating: io/flutter/view/FlutterCallbackInformation.class  
  inflating: io/flutter/view/TextureRegistry$OnFrameConsumedListener.class  
  inflating: io/flutter/view/FlutterView$ViewportMetrics.class  
  inflating: io/flutter/view/AccessibilityBridge$Flag.class  
  inflating: io/flutter/view/FlutterView$SurfaceTextureRegistryEntry$1.class  
  inflating: io/flutter/view/FlutterView$2.class  
  inflating: io/flutter/view/AccessibilityViewEmbedder$1.class  
  inflating: io/flutter/view/AccessibilityBridge$2.class  
  inflating: io/flutter/view/TextureRegistry$SurfaceProducer$Callback.class  
  inflating: io/flutter/view/AccessibilityViewEmbedder$ReflectionAccessors.class  
  inflating: io/flutter/view/FlutterMain$Settings.class  
  inflating: io/flutter/view/TextureRegistry$TextureEntry.class  
  inflating: io/flutter/view/AccessibilityBridge$StringAttributeType.class  
  inflating: io/flutter/view/FlutterView$ZeroSides.class  
  inflating: io/flutter/view/VsyncWaiter$1.class  
  inflating: io/flutter/view/FlutterNativeView.class  
  inflating: io/flutter/util/TraceSection.class  
  inflating: io/flutter/util/PathUtils.class  
  inflating: io/flutter/util/Predicate.class  
  inflating: io/flutter/util/ViewUtils.class  
  inflating: io/flutter/util/ViewUtils$DisplayUpdater.class  
  inflating: io/flutter/util/HandlerCompat.class  
  inflating: io/flutter/util/ViewUtils$ViewVisitor.class  
  inflating: io/flutter/util/Preconditions.class  
  inflating: lib/arm64-v8a/libflutter.so  
eseidel@erics-mbp android_test % file lib/arm64-v8a/libflutter.so 
lib/arm64-v8a/libflutter.so: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=38ba20b1d354d8820389279cad95a974890d10bb, stripped

eseidel avatar Apr 18 '25 15:04 eseidel

Hmm, although I seem to be seeing different artifacts than you are. Can you share more of your logs?

eseidel avatar Apr 18 '25 15:04 eseidel

I found the solution, perhaps. Just running shorebird cache clean to clear the cache in shorebird. But this problem will occur in next build, so It means that every time before running shorebird release , I have to clean shorebird cache for redownloading the flutter compiler.

MarkZhongsh avatar Apr 22 '25 09:04 MarkZhongsh

Would love to help. I'm just not sure how? We could schedule a call and walk through it together, or if you have a repro I could attempt myself I'd be happy to.

This is what I see when running the proposed steps:

eseidel@erics-mbp smoketest % shorebird release -p android --flutter-version 3.24.3 --artifact apk
✓ Fetching apps (0.3s)
Building Android app bundle with Flutter 3.24.3 (5a6dc546e8)
Resolving dependencies... 
Downloading packages... 
< async 2.11.0 (was 2.12.0) (2.13.0 available)
< boolean_selector 2.1.1 (was 2.1.2) (2.1.2 available)
< characters 1.3.0 (was 1.4.0) (1.4.0 available)
< clock 1.1.1 (was 1.1.2) (1.1.2 available)
< collection 1.18.0 (was 1.19.1) (1.19.1 available)
< fake_async 1.3.1 (was 1.3.2) (1.3.3 available)
< leak_tracker 10.0.5 (was 10.0.8) (11.0.1 available)
< leak_tracker_flutter_testing 3.0.5 (was 3.0.9) (3.0.10 available)
  leak_tracker_testing 3.0.1 (3.0.2 available)
< lints 5.0.0 (was 5.1.1) (6.0.0 available)
< matcher 0.12.16+1 (was 0.12.17) (0.12.17 available)
  material_color_utilities 0.11.1 (0.12.0 available)
< meta 1.15.0 (was 1.16.0) (1.16.0 available)
< path 1.9.0 (was 1.9.1) (1.9.1 available)
> sky_engine 0.0.99 from sdk flutter (was 0.0.0 from sdk flutter)
< source_span 1.10.0 (was 1.10.1) (1.10.1 available)
< stack_trace 1.11.1 (was 1.12.1) (1.12.1 available)
< stream_channel 2.1.2 (was 2.1.4) (2.1.4 available)
< string_scanner 1.2.0 (was 1.4.1) (1.4.1 available)
< term_glyph 1.2.1 (was 1.2.2) (1.2.2 available)
< test_api 0.7.2 (was 0.7.4) (0.7.4 available)
  vector_math 2.1.4 (2.1.5 available)
< vm_service 14.2.5 (was 14.3.1) (15.0.0 available)
Changed 20 dependencies!
22 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.

Font asset "MaterialIcons-Regular.otf" was tree-shaken, reducing it from 1645184 to 1384 bytes (99.9% reduction). Tree-shaking can be disabled by providing the --no-tree-shake-icons flag when building your app.
[CXX1101] NDK at /Users/eseidel/Library/Android/sdk/ndk/23.1.7779620 did not have a source.properties file
[CXX1101] NDK at /Users/eseidel/Library/Android/sdk/ndk/23.1.7779620 did not have a source.properties file
[CXX1101] NDK at /Users/eseidel/Library/Android/sdk/ndk/23.1.7779620 did not have a source.properties file
[CXX1101] NDK at /Users/eseidel/Library/Android/sdk/ndk/23.1.7779620 did not have a source.properties file
[CXX1101] NDK at /Users/eseidel/Library/Android/sdk/ndk/23.1.7779620 did not have a source.properties file
[CXX1101] NDK at /Users/eseidel/Library/Android/sdk/ndk/23.1.7779620 did not have a source.properties file
[CXX1101] NDK at /Users/eseidel/Library/Android/sdk/ndk/23.1.7779620 did not have a source.properties file
Running Gradle task 'bundleRelease'...                             33.8s
✓ Built build/app/outputs/bundle/release/app-release.aab (24.9MB)
Building APK
Resolving dependencies... 
Downloading packages... 
< async 2.11.0 (was 2.12.0) (2.13.0 available)
< boolean_selector 2.1.1 (was 2.1.2) (2.1.2 available)
< characters 1.3.0 (was 1.4.0) (1.4.0 available)
< clock 1.1.1 (was 1.1.2) (1.1.2 available)
< collection 1.18.0 (was 1.19.1) (1.19.1 available)
< fake_async 1.3.1 (was 1.3.2) (1.3.3 available)
< leak_tracker 10.0.5 (was 10.0.8) (11.0.1 available)
< leak_tracker_flutter_testing 3.0.5 (was 3.0.9) (3.0.10 available)
  leak_tracker_testing 3.0.1 (3.0.2 available)
  lints 5.0.0 (6.0.0 available)
< matcher 0.12.16+1 (was 0.12.17) (0.12.17 available)
  material_color_utilities 0.11.1 (0.12.0 available)
< meta 1.15.0 (was 1.16.0) (1.16.0 available)
< path 1.9.0 (was 1.9.1) (1.9.1 available)
> sky_engine 0.0.99 from sdk flutter (was 0.0.0 from sdk flutter)
< source_span 1.10.0 (was 1.10.1) (1.10.1 available)
< stack_trace 1.11.1 (was 1.12.1) (1.12.1 available)
< stream_channel 2.1.2 (was 2.1.4) (2.1.4 available)
< string_scanner 1.2.0 (was 1.4.1) (1.4.1 available)
< term_glyph 1.2.1 (was 1.2.2) (1.2.2 available)
< test_api 0.7.2 (was 0.7.4) (0.7.4 available)
  vector_math 2.1.4 (2.1.5 available)
< vm_service 14.2.5 (was 14.3.1) (15.0.0 available)
Changed 19 dependencies!
22 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.

Running Gradle task 'assembleRelease'...                            6.3s
✓ Built build/app/outputs/flutter-apk/app-release.apk (24.7MB)
✓ Release version: 1.0.0+4 (1.7s)
✓ Fetching releases (0.1s)
It looks like you have an existing android release for version 1.0.0+4.
Please bump your version number and try again.

You can manage this release in the Shorebird Console

If you aren't sure why this command failed, re-run with the --verbose flag to see more information.

You can also file an issue if you think this is a bug. Please include the following log file in your report:
/Users/eseidel/Library/Application Support/shorebird/logs/1745596707831_shorebird.log


A new version of shorebird is available!
Run shorebird upgrade to upgrade.
eseidel@erics-mbp smoketest % mkdir contents
eseidel@erics-mbp smoketest % cd contents 
eseidel@erics-mbp contents % unzip build/app/outputs/flutter-apk/app-release.apk 
unzip:  cannot find or open build/app/outputs/flutter-apk/app-release.apk, build/app/outputs/flutter-apk/app-release.apk.zip or build/app/outputs/flutter-apk/app-release.apk.ZIP.
eseidel@erics-mbp contents % unzip ../build/app/outputs/flutter-apk/app-release.apk 
Archive:  ../build/app/outputs/flutter-apk/app-release.apk
  inflating: META-INF/com/android/build/gradle/app-metadata.properties  
  inflating: META-INF/version-control-info.textproto  
 extracting: assets/dexopt/baseline.prof  
 extracting: assets/dexopt/baseline.profm  
  inflating: classes.dex             
  inflating: lib/arm64-v8a/libapp.so  
  inflating: lib/arm64-v8a/libflutter.so  
  inflating: lib/armeabi-v7a/libapp.so  
  inflating: lib/armeabi-v7a/libflutter.so  
  inflating: lib/x86_64/libapp.so    
  inflating: lib/x86_64/libflutter.so  
  inflating: assets/flutter_assets/AssetManifest.bin  
  inflating: assets/flutter_assets/AssetManifest.json  
  inflating: assets/flutter_assets/FontManifest.json  
  inflating: assets/flutter_assets/NOTICES.Z  
  inflating: assets/flutter_assets/fonts/MaterialIcons-Regular.otf  
  inflating: assets/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf  
  inflating: assets/flutter_assets/shaders/ink_sparkle.frag  
  inflating: assets/flutter_assets/shorebird.yaml  
  inflating: DebugProbesKt.bin       
  inflating: META-INF/androidx.activity_activity.version  
  inflating: META-INF/androidx.annotation_annotation-experimental.version  
  inflating: META-INF/androidx.arch.core_core-runtime.version  
  inflating: META-INF/androidx.core_core-ktx.version  
  inflating: META-INF/androidx.core_core.version  
  inflating: META-INF/androidx.customview_customview.version  
  inflating: META-INF/androidx.fragment_fragment.version  
  inflating: META-INF/androidx.interpolator_interpolator.version  
  inflating: META-INF/androidx.lifecycle_lifecycle-livedata-core-ktx.version  
  inflating: META-INF/androidx.lifecycle_lifecycle-livedata-core.version  
  inflating: META-INF/androidx.lifecycle_lifecycle-livedata.version  
  inflating: META-INF/androidx.lifecycle_lifecycle-process.version  
  inflating: META-INF/androidx.lifecycle_lifecycle-runtime.version  
  inflating: META-INF/androidx.lifecycle_lifecycle-viewmodel-savedstate.version  
  inflating: META-INF/androidx.lifecycle_lifecycle-viewmodel.version  
  inflating: META-INF/androidx.loader_loader.version  
  inflating: META-INF/androidx.profileinstaller_profileinstaller.version  
  inflating: META-INF/androidx.savedstate_savedstate.version  
  inflating: META-INF/androidx.startup_startup-runtime.version  
  inflating: META-INF/androidx.tracing_tracing.version  
  inflating: META-INF/androidx.versionedparcelable_versionedparcelable.version  
  inflating: META-INF/androidx.viewpager_viewpager.version  
  inflating: META-INF/androidx.window.extensions.core_core.version  
  inflating: META-INF/androidx.window_window-java.version  
  inflating: META-INF/androidx.window_window.version  
  inflating: META-INF/kotlinx_coroutines_android.version  
  inflating: META-INF/kotlinx_coroutines_core.version  
  inflating: META-INF/services/c0.B  
  inflating: META-INF/services/h0.t  
  inflating: kotlin-tooling-metadata.json  
  inflating: kotlin/annotation/annotation.kotlin_builtins  
  inflating: kotlin/collections/collections.kotlin_builtins  
  inflating: kotlin/coroutines/coroutines.kotlin_builtins  
  inflating: kotlin/internal/internal.kotlin_builtins  
  inflating: kotlin/kotlin.kotlin_builtins  
  inflating: kotlin/ranges/ranges.kotlin_builtins  
  inflating: kotlin/reflect/reflect.kotlin_builtins  
  inflating: AndroidManifest.xml     
 extracting: res/9w.png              
 extracting: res/FS.png              
 extracting: res/RJ.png              
  inflating: res/Zn.xml              
 extracting: res/o-.png              
 extracting: res/yn.png              
 extracting: resources.arsc          
  inflating: META-INF/CERT.SF        
  inflating: META-INF/CERT.RSA       
  inflating: META-INF/MANIFEST.MF    
eseidel@erics-mbp contents % 
eseidel@erics-mbp contents % file  lib/armeabi-v7a/libflutter.so  
lib/armeabi-v7a/libflutter.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=ce86dfd720bdcc0c879e6f1bfd1792ce8f5ca769, stripped

eseidel avatar Apr 25 '25 16:04 eseidel

Closing due to lack of response. Happy to help if you're still seeing issues!

eseidel avatar Jul 31 '25 20:07 eseidel