Flutter image_picker не работает с проблемой flutter_plugin_android_lifecycle

Я выполнил все шаги, чтобы реализовать плагин выбора изображений в новом новом приложении.

Добавлены зависимости в pubspec.yaml

dependencies:
  image_picker: 0.6.2+3

Добавлено в Менифестandroid:requestLegacyExternalStorage="true"

Следуя примеру кода, я получаю эту ошибку..

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > Android resource linking failed
     ../project/android/app/src/main/AndroidManifest.xml:9:5-53:19: AAPT: error: attribute android:requestLegacyExternalStorage not found.

а также

/Users/.../Documents/_sdk/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.8/android/src/main/java/io/flutter/embedding/engine/plugins/lifecycle/FlutterLifecycleAdapter.java:8: error: package androidx.lifecycle does not exist
import androidx.lifecycle.Lifecycle;
                         ^
/Users/.../Documents/_sdk/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.8/android/src/main/java/io/flutter/embedding/engine/plugins/lifecycle/FlutterLifecycleAdapter.java:22: error: cannot find symbol
  public static Lifecycle getActivityLifecycle(
                ^
  symbol:   class Lifecycle
  location: class FlutterLifecycleAdapter
2 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileReleaseJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s

Exception: The plugin flutter_plugin_android_lifecycle could not be built due to the issue above.

Что я здесь не так делаю!

2 ответа

Решение

После интенсивных поисков я получил ключ к решению этой проблемы. Приложение должно быть скомпилировано с SDK 29, который является последней версией buildTool, включающей последние изменения, внесенные в Android 10.

На уровне приложения build.gradle файл

// ...
android {
    compileSdkVersion 29
// ....
        defaultConfig {
            targetSdkVersion 29
//...

Думаю, об этом следует упомянуть в image_picker документация.

Я думал, вы забыли добавить эту строку "android:requestLegacyExternalStorage="true"" в этот файл "project / android / app / src / main / AndroidManifest.xml",

Это то, что говорит ошибка

error: attribute android:requestLegacyExternalStorage not found.
Другие вопросы по тегам