6

我想使用设备管理器应用程序构建 AOSP。

如何使用已配置的 device_owner.xml 和 device_policies.xml 构建 AOSP?

PS:我的目标是nexus5。

4

2 回答 2

5

我想这对你来说有点晚了,但是对于其他正在寻找完全相同的东西的人(就像我一样),有一篇关于信息亭模式的精彩文章,其中包含许多技术细节:

http://trac.gateworks.com/wiki/Android/Kiosk

有关设备所有权的详细信息:

“但是,如果从源代码构建,您可以绕过对用户的请求,并在首次启动时通过在 out/target/product/ventana/data/system/ 下注入以下两个文件来授予您的应用设备所有权/管理员。注入完成通过将文件添加到PRODUCT_COPY_FILES设备配置文件(即 device/gateworks/ventana/ventana.mk)中的变量中。”

TL;博士:

只需使用您配置的所有权/策略 xmls 将其添加到设备配置文件 (.mk) 的末尾:

# Set device ownership for the kiosk mode app
PRODUCT_COPY_FILES += \
    device/gateworks/ventana/device_owner.xml:data/system/device_owner.xml \
    device/gateworks/ventana/device_policies.xml:data/system/device_policies.xml
于 2017-04-27T11:06:44.583 回答
1

这还不够,将文件直接添加到 /data/system 将无法恢复出厂设置(擦除数据分区)。

相反,您需要将您的device_owner.xmland添加device_policies.xml到您的系统分区(任何文件夹,可以简单地在 下/system/),然后编辑您的 init.rc 文件以复制device_owner.xmland device_policies.xml,这应该在一个on post-fs-data部分中完成(在安装数据分区后执行) .

不要忘记为所述文件设置正确的权限chmod 0600chown system sytem

您的生成文件应如下所示:

PRODUCT_COPY_FILES += \
    device/gateworks/ventana/device_owner.xml:system/device_owner.xml \
    device/gateworks/ventana/device_policies.xml:system/device_policies.xml

您的 init.rc 文件应如下所示:

on post-fs-data
    # set device manager as device owner
    copy /system/device_owner_2.xml /data/system/device_owner_2.xml
    chmod 0600 /data/system/device_owner_2.xml
    chown system system /data/system/device_owner_2.xml
    copy /system/device_policies.xml /data/system/device_policies.xml
    chmod 0600 /data/system/device_policies.xml
    chown system system /data/system/device_policies.xml
于 2021-08-10T14:48:28.020 回答