ERROR 'duplicate declaration of type/attribute' at token ';' on line 14430

来源:互联网 发布:js代码混淆后如何还原 编辑:程序博客网 时间:2024/06/07 06:56
MTK添加Android权限te文件后,编译make bootimage报重复duplicate错误。

错误信息:
------------------------------------------------------------------------
out/host/linux-x86/bin/checkpolicy: loading policy configuration fromout/target/product/xxx/obj/ETC/sepolicy_intermediates/policy.conf
device/mediatek/common/sepolicy/device.te:164:ERROR 'duplicate declaration of type/attribute' at token ';' on line 14430:
type xxx_device, dev_type;
checkpolicy: error(s) encountered while parsing configuration
------------------------------------------------------------------------
注意:报错信息中14430行说的是policy.conf文件,不过这不是重点。

duplicate,重复。
报错,重复,哪里重复了呢?

是在这两个目录下重复了:
xxxprj/device/mediatek/common/sepolicy
xxxprj/external/sepolicy

通过这个命令可以看到,确实两个目录下都有,重复了。
xxxprj/device/mediatek/common/sepolicy# find * |xargs grepxxx_device
xxxprj/external/sepolicy# find * |xargs grepxxx_device

原因在于,Android的te权限文件,在两个路径下都可以添加,效果一样,但不能同时有,不然会报重复错误!

解决方法:
删除device或external目录下sepolicy中的一个权限te文件,
删除中间缓存,
# rm -rf out/target/product/xxx/obj/ETC/sepolicy_intermediates
重新编译,生成boot.img,OK。

1 0
原创粉丝点击