Android 如何修复硬件测试权限错误?
我正在开发一个android应用程序,它使用一些硬件部件,如摄像头或Wi-Fi,我正在manifiest中使用硬件测试权限:Android 如何修复硬件测试权限错误?,android,android-permissions,Android,Android Permissions,我正在开发一个android应用程序,它使用一些硬件部件,如摄像头或Wi-Fi,我正在manifiest中使用硬件测试权限: <uses-permission android:name="android.permission.HARDWARE_TEST"> 我从来没有遇到过这样的问题,但现在突然,当我在eclipse和manifiest文件中看到一个新的错误,如下所示: “权限仅授予系统应用” 我唯一能修复它的方法就是删除这一行 为什么会出现这种错误??我怎样才能修好它? 谢谢
<uses-permission android:name="android.permission.HARDWARE_TEST">
我从来没有遇到过这样的问题,但现在突然,当我在eclipse和manifiest文件中看到一个新的错误,如下所示:
“权限仅授予系统应用”
我唯一能修复它的方法就是删除这一行
为什么会出现这种错误??我怎样才能修好它?
谢谢
编辑:
我找到了解决方案,并回答了我自己的问题:
我的问题是在android中:manifiest中的targetSdkVersion值为15,proyect构建目标的API级别为16(android 4.1.2)
因此,我已将android:targetSdkVersion值更改为16,并且Proyect properties>android>“Proyect Buid Target”也选中了16。android权限有几种:正常、危险、系统和签名或系统
签名或系统权限只能授予系统应用程序。对于签名级别的权限:
仅当请求的应用程序
使用与声明的应用程序相同的证书进行签名
许可。如果证书匹配,系统将自动
授予权限而不通知用户或请求
用户的明确批准
下面是权限定义语法
以下是硬件测试权限的定义:
<!-- Allows access to hardware peripherals. Intended only for hardware testing -->
<permission android:name="android.permission.HARDWARE_TEST"
android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
android:protectionLevel="signature"
android:label="@string/permlab_hardware_test"
android:description="@string/permdesc_hardware_test" />
在Android 4.2中,它是一个签名权限,因此只能授予具有相同签名(由供应商签名)的应用程序。因此,您的应用程序无法请求该权限
如果要直接操作硬件,可能需要根设备 可能和你的问题一样
<!-- Allows access to hardware peripherals. Intended only for hardware testing -->
<permission android:name="android.permission.HARDWARE_TEST"
android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
android:protectionLevel="signature"
android:label="@string/permlab_hardware_test"
android:description="@string/permdesc_hardware_test" />