如何解决flutter中的权限处理程序错误?

Posted

技术标签:

【中文标题】如何解决flutter中的权限处理程序错误?【英文标题】:How to solve permission handler error in flutter? 【发布时间】:2021-12-14 21:20:57 【问题描述】:

不确定我在哪里犯了错误,但在实现 permission_handler: ^7.1.0 时出错,错误消息是 ``` C:\src\flutter.pub-cache\hosted\http://pub.dartlang。 org\permission_handler-7.2.0\android\src\main\java\com\baseflow\permissionhandler\ServiceManager.java:152:警告:BluetoothAdapter 中的 [deprecation] getDefaultAdapter() 已被弃用 最终蓝牙适配器 bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); ^ 错误:发现警告并指定 -Werror 1 个错误 1 个警告

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

出了什么问题: 任务 ':permission_handler:compileDebugJavaWithJavac' 执行失败。

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

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

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

在 1m 10s 内构建失败 异常:Gradle 任务 assembleDebug 失败,退出代码为 1 ``` 下面我附上了必要的截图 而且我还在 Androidmanifest 中给予了许可

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

然后编译SdkVersion 31、minSdkVersion 21、targetSdkVersion 30。希望我已经给出了所有必要的细节。如果有什么需要请发表评论并请帮助解决这个问题,我不想更改我的 sdk 版本。提前谢谢你。

【问题讨论】:

【参考方案1】:

尝试flutter clean,删除pubspec.lock文件。然后运行flutter pub get,然后运行flutter run。它应该可以解决问题。

【讨论】:

No @kaushik 仍然出现同样的错误 在 pubspec.yaml 文件中提供permission_handler:any 并尝试一次 我遇到了同样的错误,伙计@kaushik 在此处粘贴完整的错误。 在 permission_handler: any 和 flutter clean 之后,删除 pubspec.lock 文件。然后运行 ​​flutter pub get ,然后运行 ​​flutter run ,它工作正常,没有任何错误。但是我怎么知道它使用的是哪个版本,因为我们将它指定为“any”?【参考方案2】:

在 android\app\build.gradle 中将 compileSdkVersion 改为 30 或 31 可以解决这个问题

【讨论】:

以上是关于如何解决flutter中的权限处理程序错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何解决 Flutter 中的 MediaQuery 错误? [复制]

错误:找不到成员:'packageRoot',如何解决忽略:Flutter 中的 deprecated_member_use?

如何解决flutter中的http错误代码400缺少参数?

如何解决使用 Flutter-TTS 包的错误?

构建 Flutter iOS 应用程序时如何解决“格式错误的项目”构建错误

如何解决此问题 [错误:flutter/lib/ui/ui_dart_state.cc(199)] 未处理的异常:NoSuchMethodError:getter 'phone' 被调用为 null。