Android构建错误:ro.build.fingerprint不能超过91字节。

7

我正在从Android源代码构建Android ROM,但大约5分钟后它会出现以下错误。

error: ro.build.fingerprint cannot exceed 91 bytes: Android/mini_emulator_x86/mini-emulator-x86:5.0.555/AOSP/username02280306:userdebug/test-keys (97)
make: *** [out/target/product/mini-emulator-x86/system/build.prop] Error 1
make: *** Deleting file `out/target/product/mini-emulator-x86/system/build.prop'
make: *** Waiting for unfinished jobs....

我如何增加ro.build.fingerprint的尺寸限制?

此外,我是在Mac上进行构建。

2个回答

12

编辑build/tools/post_process_props.py。将行更改如下:

PROP_NAME_MAX = 31
# PROP_VALUE_MAX = 91
PROP_VALUE_MAX = 128

编辑bionic/libc/include/sys/system_properties.h。将以下行更改为:

#define PROP_NAME_MAX   32
// #define PROP_VALUE_MAX  92
#define PROP_VALUE_MAX  128
做。
make clean
make

您也可以使用类似以下语法并行运行第二个make命令:

make -j8

你好,谢谢。PROP_NAME_MAX等变量可以在boardconfig.mk中设置吗? - moonbutt74
如@Matt所提到的,这会导致frameworks/native/cmds/installd/installd.cpp中的错误。要修复它,您还需要更改frameworks/native/cmds/installd/installd_deps.h中的kPropertyValueMax值。 - Gluttton

11

另外,你可以将构建指纹字符串作为命令行参数来指定使用:

make -j5 BUILD_FINGERPRINT="....."

这将使您保持在91个字节的限制范围内。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接