【问题标题】:How do i fix this error of 'simple_permissions' on flutter?如何修复颤振上的“simple_permissions”错误?
【发布时间】:2019-09-28 04:52:22
【问题描述】:

在flutter项目上运行包含simple_permissions的代码时出现错误。

Initializing gradle...
Resolving dependencies...
Running Gradle task 'assembleDebug'...
C:\Users\ria\Downloads\flutter_windows_v1.2.1-stable\flutter\.pub-cache\hosted\pub.dartlang.org\simple_permissions-0.1.9\android\src\main\java\com\ethras\simplepermissions\SimplePermissionsPlugin.java:9: error: cannot find symbol
import android.support.v4.app.ActivityCompat;
                             ^
  symbol:   class ActivityCompat
  location: package android.support.v4.app
C:\Users\ria\Downloads\flutter_windows_v1.2.1-stable\flutter\.pub-cache\hosted\pub.dartlang.org\simple_permissions-0.1.9\android\src\main\java\com\ethras\simplepermissions\SimplePermissionsPlugin.java:10: error: package android.support.v4.content does not exist
import android.support.v4.content.ContextCompat;
                                 ^
C:\Users\ria\Downloads\flutter_windows_v1.2.1-stable\flutter\.pub-cache\hosted\pub.dartlang.org\simple_permissions-0.1.9\android\src\main\java\com\ethras\simplepermissions\SimplePermissionsPlugin.java:156: error: cannot find symbol
        ActivityCompat.requestPermissions(activity, perm, 0);
        ^
  symbol:   variable ActivityCompat
  location: class SimplePermissionsPlugin
C:\Users\ria\Downloads\flutter_windows_v1.2.1-stable\flutter\.pub-cache\hosted\pub.dartlang.org\simple_permissions-0.1.9\android\src\main\java\com\ethras\simplepermissions\SimplePermissionsPlugin.java:163: error: cannot find symbol
        return PackageManager.PERMISSION_GRANTED == ContextCompat.checkSelfPermission(activity, permission);
                                                    ^
  symbol:   variable ContextCompat
  location: class SimplePermissionsPlugin
C:\Users\ria\Downloads\flutter_windows_v1.2.1-stable\flutter\.pub-cache\hosted\pub.dartlang.org\simple_permissions-0.1.9\android\src\main\java\com\ethras\simplepermissions\SimplePermissionsPlugin.java:171: error: cannot find symbol
            if (ActivityCompat.shouldShowRequestPermissionRationale(registrar.activity(), permission)) {
                ^
  symbol:   variable ActivityCompat
  location: class SimplePermissionsPlugin
C:\Users\ria\Downloads\flutter_windows_v1.2.1-stable\flutter\.pub-cache\hosted\pub.dartlang.org\simple_permissions-0.1.9\android\src\main\java\com\ethras\simplepermissions\SimplePermissionsPlugin.java:175: error: cannot find symbol
                if (ActivityCompat.checkSelfPermission(registrar.context(), permission) == PackageManager.PERMISSION_GRANTED) {
                    ^
  symbol:   variable ActivityCompat
  location: class SimplePermissionsPlugin
6 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':simple_permissions: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 2s
Finished with error: Gradle task assembleDebug failed with exit code 1
*******************************************************************************************
The Gradle failure may have been because of AndroidX incompatibilities in this Flutter app.

*******************************************************************************************

【问题讨论】:

  • 在这个问题上运气好吗?我只是在升级到 Android X 后偶然发现的。
  • 降级 simple_permkssions 版本可能有效

标签: android-studio plugins flutter androidx


【解决方案1】:

我遇到了同样的问题,经过一些搜索,我找到了这个存储库。

https://github.com/tq-systems/simple_permissions

此存储库解决了 AndroidX 兼容性问题。 像这样将它导入到 pubspec.yaml 中:

dependencies:
  simple_permissions:
    git:
      url: https://github.com/tq-systems/simple_permissions.git

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。我用这些步骤解决了它

    第 1 步 => 将您的 android studio 更新到最新版本 download here

    第 2 步 卸载您的 android studio 并使用新的 setting

    安装新的

    第 3 步 添加 Flutter 插件

    第 4 步 将此添加到 build.gradle

    中的依赖项
     dependencies {
        classpath 'com.android.tools.build:gradle:3.4.0'
        classpath 'com.google.gms:google-services:4.2.0'
        classpath ('com.google.firebase:firebase-plugins:1.1.0') {
            exclude group: 'com.google.guava', module: 'guava-jdk5'
        }
    }
    

    第 5 步 运行此命令

    flutter 包获取

    更新你的包和gradles

    对我来说效果很好。

    【讨论】:

      猜你喜欢
      • 2020-01-27
      • 2021-04-08
      • 2021-11-20
      • 2019-12-02
      • 2022-07-04
      • 1970-01-01
      • 2020-09-15
      • 2019-11-27
      • 1970-01-01
      相关资源
      最近更新 更多