mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00

Fixes: #154580 Previous PR: #154677 More info: https://github.com/flutter/flutter/issues/154580#issuecomment-2333799620 The errors described in the original issue [are still occurring](https://github.com/flutter/flutter/issues/154580#issuecomment-2333799620) after #154677. Before this change, the repro [broken_demo](https://github.com/rajveermalviya/broken_demo) mentioned in the original issue logs: ```shell-session $ flutter run --release Launching lib/main.dart on sdk gphone64 arm64 in release mode... Running Gradle task 'assembleRelease'... 14.5s â Built build/app/outputs/flutter-apk/app-release.apk (7.4MB) Installing build/app/outputs/flutter-apk/app-release.apk... 739ms Flutter run key commands. h List all available interactive commands. c Clear the screen q Quit (terminate the application on the device). W/FlutterEngineCxnRegstry(13284): Attempted to register plugin (a0.a@53b33b6) but it was already registered with this FlutterEngine (d0.c@8baa8b7). E/flutter (13284): [ERROR:flutter/runtime/dart_vm_initializer.cc(40)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null) E/flutter (13284): #0 PathProviderApi.getApplicationSupportPath (package:path_provider_android/messages.g.dart:65) E/flutter (13284): <asynchronous suspension> E/flutter (13284): #1 getApplicationSupportDirectory (package:path_provider/path_provider.dart:78) E/flutter (13284): <asynchronous suspension> E/flutter (13284): #2 _BorkenDemoHomePageState.build.<anonymous closure> (package:broken_demo/main.dart:44) E/flutter (13284): <asynchronous suspension> E/flutter (13284): ``` After this change: ```shell-session $ flutter run --release Launching lib/main.dart on sdk gphone64 arm64 in release mode... Running Gradle task 'assembleRelease'... 15.2s â Built build/app/outputs/flutter-apk/app-release.apk (7.4MB) Installing build/app/outputs/flutter-apk/app-release.apk... 857ms Flutter run key commands. h List all available interactive commands. c Clear the screen q Quit (terminate the application on the device). I/flutter (13040): path_provider: Directory: '/data/user/0/com.example.broken_demo/files' ```
15 lines
669 B
Prolog
15 lines
669 B
Prolog
# Build the ephemeral app in a module project.
|
|
# Prevents: Warning: library class <plugin-package> depends on program class io.flutter.plugin.**
|
|
# This is due to plugins (libraries) depending on the embedding (the program jar)
|
|
-dontwarn io.flutter.plugin.**
|
|
|
|
# The android.** package is provided by the OS at runtime.
|
|
-dontwarn android.**
|
|
|
|
# In some cases, R8 is incorrectly stripping plugin classes. Keep
|
|
# all implementations of FlutterPlugin until we can determine
|
|
# why this is the case.
|
|
# See https://github.com/flutter/flutter/issues/154580.
|
|
-if class * implements io.flutter.embedding.engine.plugins.FlutterPlugin
|
|
-keep,allowshrinking,allowobfuscation class <1>
|