在颤振上添加 simple_permission 或 permission_handler 后出错

Posted

技术标签:

【中文标题】在颤振上添加 simple_permission 或 permission_handler 后出错【英文标题】:Error after add simple_permission or permission_handler on flutter 【发布时间】:2019-10-06 09:46:56 【问题描述】:

我想创建一个文件夹来尝试下载文件。所以我添加了 simple_permission,但即使我迁移到 androidX,我也遇到了迁移到 androidX 的错误。我该如何解决这个错误?

正在调试模式下在酷派 E502 上启动 lib\main.dart...

D:\Flutter\flutter.pub-cache\hosted\pub.dartlang.org\simple_permissions-0.1.9\android\src\main\java\com\ethras\simplepermissions\SimplePermissionsPlugin.java:9: 错误:找不到符号

导入android.support.v4.app.ActivityCompat;

                         ^

符号:ActivityCompat 类

位置:包android.support.v4.app

D:\Flutter\flutter.pub-cache\hosted\pub.dartlang.org\simple_permissions-0.1.9\android\src\main\java\com\ethras\simplepermissions\SimplePermissionsPlugin.java:10:错误:包 android.support.v4.content 不存在

导入android.support.v4.content.ContextCompat;

                             ^

D:\Flutter\flutter.pub-cache\hosted\pub.dartlang.org\simple_permissions-0.1.9\android\src\main\java\com\ethras\simplepermissions\SimplePermissionsPlugin.java:156:错误:找不到符号

    ActivityCompat.requestPermissions(activity, perm, 0);

    ^

符号:变量 ActivityCompat 位置:类 SimplePermissionsPlugin

D:\Flutter\flutter.pub-cache\hosted\pub.dartlang.org\simple_permissions-0.1.9\android\src\main\java\com\ethras\simplepermissions\SimplePermissionsPlugin.java:163:错误:找不到符号

    return PackageManager.PERMISSION_GRANTED == ContextCompat.checkSelfPermission(activity, permission);

                                                ^

符号:变量 ContextCompat

位置:SimplePermissionsPlugin 类

D:\Flutter\flutter.pub-cache\hosted\pub.dartlang.org\simple_permissions-0.1.9\android\src\main\java\com\ethras\simplepermissions\SimplePermissionsPlugin.java:171:错误:找不到标志 if (ActivityCompat.shouldShowRequestPermissionRationale(registrar.activity(), permission)) ^ 符号:变量 ActivityCompat 位置:类 SimplePermissionsPlugin D:\Flutter\flutter.pub-cache\hosted\pub.dartlang.org\simple_permissions-0.1.9\android\src\main\java\com\ethras\simplepermissions\SimplePermissionsPlugin.java:175:错误:找不到符号 if (ActivityCompat.checkSelfPermission(registrar.context(), permission) == PackageManager.PERMISSION_GRANTED) ^ 符号:变量 ActivityCompat 位置:类 SimplePermissionsPlugin 6 个错误

FAILURE:构建失败并出现异常。

出了什么问题:

任务“:simple_permissions:compileDebugJavaWithJavac”执行失败。

编译失败;有关详细信息,请参阅编译器错误输出。

试试:

使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。

在https://help.gradle.org 获得更多帮助

45 秒后构建失败


Gradle 失败可能是因为这个 Flutter 应用中的 AndroidX 不兼容。\ 退出(sigterm)

【问题讨论】:

我通过 Migrate 和 AndroiStudio 解决了这个问题。谢谢! 我知道这是一个老问题,但您指的是迁移到 AndroidX 吗? 你是怎么解决这个问题的?请添加答案。 【参考方案1】:

我遇到了同样的错误,我所做的是在 build.gradle 文件中更改 klotin 的版本,如下所示

buildscript 
    ext.kotlin_version = '1.3.72'
    repositories 
        google()
        jcenter()
    

    dependencies 
        classpath 'com.android.tools.build:gradle:3.5.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:4.3.2'
    

【讨论】:

以上是关于在颤振上添加 simple_permission 或 permission_handler 后出错的主要内容,如果未能解决你的问题,请参考以下文章

Flutter IOS:CocoaPods 找不到 pod“simple_permissions”的兼容版本:

用户如何在谷歌地图颤振上添加多个标记

如何通过 podspec 在颤振插件上添加 .a 库

使用颤振位置插件在 Android 中自动添加后台位置权限

颤振将完成按钮添加到键盘,特别是 CupertinoTextField

无法将firebase添加到android(颤振)