配套系列教学视频链接:
说明
系统:Android10.0
设备: FireFly RK3399 (ROC-RK3399-PC-PLUS)
前言
上一个章节介绍了如何定义策略, 并编译得到目标文件, 这些目标文件需要在RK3399开发板上进行更新验证。
一, 更新开发板策略
编译得到的目标文件需要更新到开发板的/vendor/bin中:
out/target/product/qh100_rk3399/vendor/bin/myse_test
生成的策略文件目标文件:
ls out/target/product/qh100_rk3399/vendor/etc/selinux/
plat_pub_versioned.cil vendor_file_contexts vendor_property_contexts vndservice_contexts
plat_sepolicy_vers.txt vendor_hwservice_contexts vendor_seapp_contexts
selinux_denial_metadata vendor_mac_permissions.xml vendor_sepolicy.cil
ls out/target/product/qh100_rk3399/odm/etc/selinux/
precompiled_sepolicy precompiled_sepolicy.product_sepolicy_and_mapping.sha256
precompiled_sepolicy.plat_sepolicy_and_mapping.sha256
将以上文件,以文件夹为单位从源码中拷贝出来, 需要替换根文件系统中的vendor和odm分区的selinux文件, 这样的好处就是不用重新烧录整个镜像,局部更新安全策略就可以了。
操作开发板, 通过adb执行如下:
adb root
adb remount
adb push myse_test /vendor/bin
adb push vendor/selinux /vendor/etc/
adb push odm/selinux /odm/etc/
二,运行验证
提个问题:在不使用selinux规则文件的情况下, 直接在root用户下, 通过命令启动my

本文详细介绍了Android系统中针对RK3399开发板的ROM策略更新过程,包括如何将策略文件推送到设备,以及在permissive和enforcing模式下验证策略效果。在enforcing模式下,通过selinux日志分析并使用audit2allow工具解决了权限问题,确保程序正常运行。
最低0.47元/天 解锁文章
1327





