【发布时间】:2021-07-19 23:46:44
【问题描述】:
我使用flutter-blue 包开发了一个简单的应用程序。该应用程序在调试模式下工作正常。现在我想发布一个发布版 APK 以将其安装到其他设备上。
这是我的 Android 清单文件:
<uses-feature android:name="android.hardware.bluetooth" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
APK 已成功构建,但安装的应用程序无法运行。权限似乎存在一些问题。
我尝试了以下各种 git 问题的解决方法:
- 在构建时使用 --no-shrink 参数。生成更大的 apk 文件,但没有任何变化。
- 使用permission-handler 包并在主函数中添加:
代码:
checkPerm() async {
var status = await Permission.bluetooth.status;
if (status.isDenied) {
await Permission.bluetooth.request();
}
if (await Permission.bluetooth.status.isPermanentlyDenied) {
openAppSettings();
}
}
还有:
void main() {
checkPerm();
WidgetsFlutterBinding.ensureInitialized();
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp])
.then((_) {
runApp(BleApp());
});
}
以上解决方案都不适合我。颤动的蓝色错误是:错误开始扫描
apk-debug 构建工作正常并授予权限。
一般信息:
minSdkVersion 19
targetSdkVersion 28
Flutter version 2.0.4
Dart version 2.12.2
flutter_blue: ^0.8.0
provider: ^5.0.0
permission_handler: ^7.0.0
在 Android 5.1 和 10 版本上测试。
有什么想法吗?
【问题讨论】:
标签: flutter