flutter permission_handler提示No permissions found in manifest for

今天把flutter_blue_plus升级到1.8.0后发现获取定位权限时总是失败。查看日志发现permission_handler报了 No permissions found in manifest for: []5 的错误。
根据网上的方法试了flutter clean和flutter pub cache repair都没有用。实在找不到原因,只好把flutter_blue_plus回退到1.3.1,发现权限又正常了。
通过对比两个版本的源码的manifest文件,发现1.8.1版本的ACCESS_FINE_LOCATION上加了maxSdkVersion限制,我现在编译的sdk版本是33,合并后自然就把这个权限给去掉了。

1.3.1版本

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

1.8.0版本

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:maxSdkVersion="30"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" android:maxSdkVersion="28" />

解决办法:在权限声明的地方加上tools:remove="android:maxSdkVersion"即可。

<uses-permission android:name="android.permission. ACCESS_FINE_LOCATION"  tools:remove="android:maxSdkVersion"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" tools:remove="android:maxSdkVersion"/>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容