无法通过Android Studio获得AOSP中新定义的权限

问题描述 投票:2回答:1

[如以下StackOverflow后续答案中的解释:[link1]所述,我在AOSP的(frameworks / base / core / res / AndroidManifest.xml)中添加了新名称为“ ACCESS_NEW_LOCATION”的新位置权限代码。按照StackOverflow文章[link2]中的说明,我在添加了代码片段之后构建了AOSP源代码。

添加的代码段为:

    <permission android:name="android.permission.ACCESS_NEW_LOCATION"
    android:permissionGroup="android.permission-group.LOCATION"
    android:label="@string/permlab_accessNewLocation"
    android:description="@string/permdesc_accessNewLocation"
    android:protectionLevel="dangerous" />

但是,在Android Studio中,我使用以下代码以如下方式访问新添加的AOSP权限:

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

Android Studio无法识别此新权限名称的名称。另外,我按照此StackOverflow帖子[link3]中的说明列出了可用于Android Phone的权限。在输出中,系统权限和用户权限都在此处列出,但是新添加的权限“ ACCESS_NEW_LOCATION”的名称未出现。

您能帮我吗:

  1. 向AOSP添加新权限的正确过程是什么?
  2. 如何使Android Studio知道AOSP中此新添加的权限。
  3. 由于此新添加的权限位于AOSP的XML
  4. 文件中,所以我认为它只会添加一个名称;但是AOSP中与该新添加的权限相对应的代码段在哪里,我们可以定义此新添加的权限的功能。

如以下StackOverflow发布答案中的解释:[link1],我在AOSP的(frameworks / base / core / res / AndroidManifest.xml)中添加了新名称为“ ACCESS_NEW_LOCATION”的新位置许可代码。...] >

android android-studio android-source android-location
1个回答
1
投票

如评论中所述,这是编译时的预期行为。您的项目使用的SDK(尤其是android.jar)是标准SDK中的一个,因此它不了解自定义权限。在您的情况下,这确实没有问题,因为Android Studio会抱怨但它会起作用,因为真正的验证是在运行时完成的。

关于支票的存放地点,这完全取决于您的权限是要控制的。需要在此权限旨在保护的所有API中添加检查。

© www.soinside.com 2019 - 2024. All rights reserved.