1

迁移到 targetSdkVersion 31 后,我们的应用程序无法安装。在尝试查找问题时,我们发现库正在使用 FLASHLIGHT 权限,安装时出现此错误:

安装失败,原因是:'无法使用命令 cmd package install-commit 130765275 提交安装会话 130765275。错误:-127:包 com.xxxx.yyyy.zzzz 试图在不存在的组 android 中声明权限 android.permission.FLASHLIGHT。权限组.HARDWARE_CONTROLS'

库清单文件中使用的权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />

<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

<permission
    android:name="android.permission.FLASHLIGHT"
    android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
    android:protectionLevel="normal" />

这个问题有什么解决方法吗?

4

1 回答 1

2

android.permission-group.HARDWARE_CONTROLS 在 targetSdkVersion 31 中已弃用。解决方法是删除清单中库使用的权限

<permission
      android:name="permissionOne"
      tools:node="remove"
      tools:selector="com.example.lib1">

工具:节点=“删除”

如果在您的任何库中使用,将从应用程序中删除权限

于 2022-01-11T11:10:03.280 回答