【问题标题】:AndroidX incompatibility error for image_picker_saver errorimage_picker_saver 错误的 AndroidX 不兼容错误
【发布时间】:2019-10-01 05:39:55
【问题描述】:

在运行控制台期间,image_picker_saver 包导致 AndroidX 无法兼容。 包是 - image_picker_saver: ^0.1.0

谁能帮忙处理这个错误?

运行控制台-

                                   ^
      symbol: variable ActivityCompat
    C:\flutter\.pub-cache\hosted\pub.dartlang.org\image_picker_saver-0.1.0\android\src\main\java\io\flutter\plugins\imagepickersaver\ImagePickerDelegate.java:139: error: cannot find symbol
                            ActivityCompat.requestPermissions(activity, new String[]{permissionName}, requestCode);
                            ^
      symbol: variable ActivityCompat
    C:\flutter\.pub-cache\hosted\pub.dartlang.org\image_picker_saver-0.1.0\android\src\main\java\io\flutter\plugins\imagepickersaver\ImagePickerDelegate.java:151: error: cannot find symbol
                            return FileProvider.getUriForFile(activity, fileProviderName, file);
                                   ^
      symbol: variable FileProvider
    20 errors

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':image_picker_saver:compileDebugJavaWithJavac'.
    > 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 1m 36s
    *******************************************************************************************
    The Gradle failure may have been because of AndroidX incompatibilities in this Flutter app.

【问题讨论】:

    标签: image flutter androidx


    【解决方案1】:

    我建议你启用 AndroidX。

    官方文档:https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility

    正如您在第三个条目中看到的:

    在 android/gradle.properties 中,追加 =>

    android.enableJetifier=true
    android.useAndroidX=true
    

    如果您不想使用 AndroidX,可以使用下面列出的最新版本的软件包。

    如果您的软件包未在此处列出,则启用 AndroidX 是唯一的选择。

    同时在 android/app/gradle.build 中更改您的最小 sdk:

        defaultConfig {
            // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
            applicationId "com.example.flutter_testing"
            minSdkVersion 16 // => Make this 21
            targetSdkVersion 28
            versionCode flutterVersionCode.toInteger()
            versionName flutterVersionName
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
    

    最后,按照这个答案:

    How to fix "Execution failed for task ':app:processDebugResources'. > Android resource linking failed"[Android/Flutter]

    同时更改 gradle 版本。

    【讨论】:

    • 首次运行时错误仍然存​​在,但热重启时不存在
    • @AzhanKhan 我改了答案再试一次。
    • 我按照官方文档甚至你的建议都改了,但是错误依旧存在
    • @AzhanKhan 所以,这是包问题,它已经不是最新的了。顺便说一句,我忘了指出在哪里更改内部的最低 SDK 版本,再检查一次。
    • @AzhanKhan 最后,尝试“flutter clean”终端命令,清理项目并重新运行,如果仍然无法正常工作,请不要使用该软件包,因为我说它已经有点过时了。
    【解决方案2】:

    image_picker_saver 已升级到 0.3.0 并支持 Android X

    【讨论】:

      猜你喜欢
      • 2020-05-03
      • 1970-01-01
      • 2018-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-12
      • 1970-01-01
      相关资源
      最近更新 更多