zhaoyufei133 2024-11-01 16:07 采纳率: 41.7%
浏览 11

PRODUCT_MODEL带空格编译报错是什么原因


[ 28% 3273/11682] Building parameter.txt out/target/product/rk3399_Android11/obj/FAKE/rockchip_parameter_intermediates/parameter.txt.
FAILED: out/target/product/rk3399_Android11/obj/FAKE/rockchip_parameter_intermediates/parameter.txt
/bin/bash -c "out/soong/host/linux-x86/bin/parameter_tools --input device/rockchip/common/scripts/parameter_tools/parameter.in  --start-offset 8192  --firmware-version 11.0         --machine-model InBody Touch    --manufacturer rockchip         --machine rk3399_Android11   --partition-list security:4M,uboot:4M,trust:4M,misc:4M,dtbo:4194304,vbmeta:1M,boot:41943040,recovery:100663296,backup:384M,cache:402653184,metadata:16M,baseparameter:1M,super:3263168512    --output out/target/product/rk3399_Android11/obj/FAKE/rockchip_parameter_intermediates/parameter.txt"
Invalid Parameters! Example:
parameter_tools --firmware-version 10.0 --machine-model RK3326 --manufacturer ROCKCHIP --machine XTF863 --partition-list uboot_a:4096K,trust_a:4M,misc:4M,dtbo_a:4M,vbmeta_a:4M,boot_a:33554432,backup:300M,security:4M,cache:300M,metadata:4096,frp:512K,super:2G --output te.txt
16:05:46 ninja failed with: exit status 1

#### failed to build some targets (02:40 (mm:ss)) ####
  • 写回答

1条回答 默认 最新

  • 越重天 新星创作者: Java技术领域 2024-11-02 23:30
    关注

    本答案参考 多次询问 ChatGPT-3.5 后选择的最佳回答,若是满意,还请采纳,谢谢

    1. 可能原因分析
      • 参数格式要求严格
        • 在这个构建过程中,从命令parameter_tools的使用来看,它对参数的格式有特定要求。像--machine - model这种带空格的参数可能不符合预期的格式。通常在命令行工具中,如果参数值包含空格,可能需要特殊的处理,例如使用引号将整个参数值括起来。
      • 工具内部验证逻辑
        • 该工具内部可能有自己的参数验证逻辑。它期望--machine - model这样的参数遵循某种命名规范,例如可能要求是不含空格的单一标识符或者是特定格式的字符串。当传入带空格的值时,内部验证失败,从而导致Invalid Parameters!错误并使构建失败。
    2. 解决办法
      • 检查文档和示例
        • 仔细查看parameter_tools工具的文档,按照文档中的要求来设置参数。从给出的示例parameter_tools --firmware - version 10.0 --machine - model RK3326 --manufacturer ROCKCHIP --machine XTF863 --partition - list uboot_a:4096K,trust_a:4M,misc:4M,dtbo_a:4M,vbmeta_a:4M,boot_a:33554432,backup:300M,security:4M,cache:300M,metadata:4096,frp:512K,super:2G --output te.txt可以看出,--machine - model的值是不含空格的。如果InBody Touch是一个有意义的整体,可能需要将其修改为符合要求的格式,例如InBody_Touch或者用引号括起来(如果工具支持这种方式)。
      • 修改参数值格式
        • 如果不能修改工具本身的验证逻辑,就需要调整传入的参数值。对于--machine - model InBody Touch,可以尝试将其改为--machine - model "InBody Touch"(假设工具支持这种引号包裹包含空格值的方式),或者将InBody Touch转换为一个不含空格的等效表示,如InBody_Touch
    评论

报告相同问题?

问题事件

  • 创建了问题 11月1日