使用设备所有者配置构建AOSP

6

我想建立一个带有设备管理器应用程序的AOSP。

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

附注:我的目标设备是Nexus5。

2个回答

5

我猜你可能已经晚了,但是对于其他寻找相同内容(就像我一样)的人,有一篇关于kiosk模式的文章,其中包含很多技术细节:

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

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

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

简而言之:

只需使用已配置的所有权/策略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

1

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

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

别忘了为这些文件设置正确的权限 chmod 0600chown system sytem

您的 makefile 应该如下所示:

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

我按照Android 13的步骤操作,但系统无法启动,而是进入了恢复模式。有什么建议吗? - Muhammad Nadeem

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接