编译Pixel Experience 13时遇classcommon解析失败错误求助
编译Pixel Experience 13 for Moto G6时遇到SEPolicy编译错误
我正尝试为Moto G6设备编译Pixel Experience 13,该设备暂无Android 13设备树。作为ROM编译领域的新手,遇到如下编译错误:
[ 0% 398/56578] //system/sepolicy:plat_policy_for_vendor.cil Building cil for plat_policy_for_vendor.cil [common] FAILED: out/soong/.intermediates/system/sepolicy/plat_policy_for_vendor.cil/android_common/plat_policy_for_vendor.cil out/host/linux-x86/bin/checkpolicy -C -M -c 30 -o out/soong/.intermediates/system/sepolicy/plat_policy_for_vendor.cil/android_common/plat_policy_for_vendor.cil out/soong/.intermediates/system/sepolicy/plat_policy_for_vendor.conf/android_common/plat_policy_for_vendor.conf && cat system/sepolicy/private/technical_debt.cil >> out/soong/.intermediates/system/sepolicy/plat_policy_for_vendor.cil/android_common/plat_policy_for_vendor.cil && out/host/linux-x86/bin/secilc -m -M true -G -c 30 out/soong/.intermediates/system/sepolicy/plat_policy_for_vendor.cil/android_common/plat_policy_for_vendor.cil -o /dev/null -f /dev/null # hash of input list: 6e559a895c8d47ee372fecf016f5b2639b5d5d288a4777b8a065fc673afaa911 Failed to resolve classcommon statement at out/soong/.intermediates/system/sepolicy/plat_policy_for_vendor.cil/android_common/plat_policy_for_vendor.cil:489 Failed to resolve AST Failed to compile cildb: -2 15:54:17 ninja failed with: exit status 1
解决方案
- 定位修复语法错误:打开报错的
plat_policy_for_vendor.cil文件第489行,检查是否存在拼写错误(比如classcommon大概率是class common的笔误,缺少空格),或者引用了Android 13中已移除/重命名的SEPolicy类。 - 适配Android 13规则:由于是从旧版本设备树适配,需对照AOSP Android 13的SEPolicy规范,替换过时的规则声明,确保权限、类型定义符合新版本要求。
- 参考同芯片组设备配置:Moto G6搭载骁龙630,找已适配Android 13的同芯片组机型的SEPolicy配置,借鉴其规则修正自己的设备树内容。
- 清理编译缓存:执行
make clean或rm -rf out/命令清除旧编译产物,重新初始化编译环境后再尝试编译,避免缓存文件干扰。
内容的提问来源于stack exchange,提问作者Prabhat Maurya
相关产品推荐
相关产品推荐

