【问题标题】:Duplicate declaration of type' at token ';' when trying to declare a SELinux type在标记 ';' 处重复声明类型'尝试声明 SELinux 类型时
【发布时间】:2019-05-06 15:44:35
【问题描述】:

我正在尝试为我的手机(小米米 A2 Lite)构建一个带有 SELinux 强制执行的 ROM。我已经在许可模式下成功启动了手机,但是在强制模式下,Wi-fi 将无法工作,并且 SystemUI 每隔几分钟就会重新启动一次,显示“手机正在启动...”而不是启动器屏幕。

我使用audit2allow 从我的手机中获取 SELinux 拒绝,并将输出添加到 SELinux 策略列表中。但是,当我尝试编译 ROM 时,出现以下错误:

device/xiaomi/daisy/sepolicy/daisy.te:224:ERROR 'unknown type qemu_hw_mainkeys_prop' at token ';' on line 75538:
allow platform_app qemu_hw_mainkeys_prop:file read;

收到该错误后,我在 property.te 文件中声明了类型:

type qemu_hw_mainkeys_prop, property_type;

在尝试再次编译 ROM 后,我得到了这个:

device/xiaomi/daisy/sepolicy/property.te:3:ERROR 'Duplicate declaration of type' at token ';' on line 75576:
type qemu_hw_mainkeys_prop, property_type;

DT:https://github.com/tkchn/android_device_xiaomi_daisy/

【问题讨论】:

  • 我面临同样的错误。你能告诉我,你是怎么解决的。

标签: android build selinux


【解决方案1】:

Android 会将所有 te 文件附加到一个文件中。需要在每个te文件的末尾添加一个空行,否则前一个文件的最后一行和当前文件的第一行会混在一起。另外,我更喜欢在每个 te 文件的开头添加一个空行,以避免其他 te 文件出现格式错误。

【讨论】:

  • 还有其他可能吗?我确实在每个文件的末尾和开头都有空行,但我仍然遇到这个问题。
  • 不过,我也面临同样的问题。
  • @Oserd Brockhoist ,我按照您的建议做了同样的事情。仍然面临同样的错误。
  • @GNK,selinux 构建问题取决于日志分析,请分享您的错误日志
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多