我想使用设备管理器应用程序构建 AOSP。
如何使用已配置的 device_owner.xml 和 device_policies.xml 构建 AOSP?
PS:我的目标是nexus5。
我想使用设备管理器应用程序构建 AOSP。
如何使用已配置的 device_owner.xml 和 device_policies.xml 构建 AOSP?
PS:我的目标是nexus5。
我想这对你来说有点晚了,但是对于其他正在寻找完全相同的东西的人(就像我一样),有一篇关于信息亭模式的精彩文章,其中包含许多技术细节:
http://trac.gateworks.com/wiki/Android/Kiosk
有关设备所有权的详细信息:
“但是,如果从源代码构建,您可以绕过对用户的请求,并在首次启动时通过在 out/target/product/ventana/data/system/ 下注入以下两个文件来授予您的应用设备所有权/管理员。注入完成通过将文件添加到PRODUCT_COPY_FILES
设备配置文件(即 device/gateworks/ventana/ventana.mk)中的变量中。”
只需使用您配置的所有权/策略 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
这还不够,将文件直接添加到 /data/system 将无法恢复出厂设置(擦除数据分区)。
相反,您需要将您的device_owner.xml
and添加device_policies.xml
到您的系统分区(任何文件夹,可以简单地在 下/system/
),然后编辑您的 init.rc 文件以复制device_owner.xml
and device_policies.xml
,这应该在一个on post-fs-data
部分中完成(在安装数据分区后执行) .
不要忘记为所述文件设置正确的权限chmod 0600
和chown 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