Android O (api 26): root-app 未被识别为 "priviledged"

Android O (api 26): root-app not recognized as "priviledged"

我有一个在 Android N 上运行良好的应用程序。 它(通过 root)安装到 /system/priv-app/* 并获得仅授予特权应用程序的权限。

现在 Android O 预览版,应用程序未获得授予的权限:

08-12 20:30:01.178   687   814 W PackageManager: Privileged permission android.permission.CAPTURE_AUDIO_OUTPUT for package eu.asd.service - not in privapp-permissions whitelist
08-12 20:30:01.178   687   814 W PackageManager: Privileged permission android.permission.UPDATE_APP_OPS_STATS for package eu.asd.service - not in privapp-permissions whitelist
08-12 20:30:01.178   687   814 W PackageManager: Privileged permission android.permission.WRITE_SECURE_SETTINGS for package eu.asd.service - not in privapp-permissions whitelist

任何人都知道这个 "privapp-permissions whitelist" 来自哪里,以及如何才能在有根 Android 上进入此列表?

应该有一个 xml 文件,其中列出了您应用的私有应用权限。请检查 /system/etc/permissions

您必须将您的权限添加到其中一个文件中。

示例:

<privapp-permissions package="[your package name]"> <permission name="android.permission.PERMISSION_YOU_WANT"/> .... </privapp-permissions>

添加到@pedrop 的正确答案 - 如果您正在开发自己的 AOSP,您可以在编译之前编辑这些 XML,并将它们插入到构建中。这些文件可以在源代码中找到。平台(所有设备和供应商)有一个文件,每个供应商一个,每个设备一个。
您可以在以下位置找到它们:
1.平台-
AOSP/frameworks/base/data/etc/privapp-permissions-platform.xml
2.供应商-
AOSP/vendor/VENDOR_NAME/proprietary/system/etc/permissions/privapp-permissions-VENDOR.xml
3. 设备 -

AOSP/vendor/VENDOR_DEVICES/DEVICE_NAME/proprietary/etc/permissions/privapp-permissions-DEVICE_NAME.xml