本来就是小白,这些问题肯定对大家来说没有什么难度,但是对于无基础自编译 Android 的小白们来说,或许有些意义
在编译时遇到的问题总结一下
最最重要的一点!!!!!!!!!!!!!!
repo init --depth=1 'xxxxxxxxx.xxxxxxxxxxxxx.xxx/xzxxx.git'
repo sync -c -f --no-tags --no-clone-bundle -j'nproc'
1. 遇到
Lex: checkpolicy <= external/selinux/checkpolicy/policy_scan.l
flex-2.5.39: loadlocale.c:130:_nl_intern_locale_data: ?? 'cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' ???
make: *** [build/core/binary.mk:646: /home/keisuke/twrp/out/host/linux-x86/obj/EXECUTABLES/checkpolicy_intermediates/policy_scan.cpp] 已放弃 (核心已转储)
实际上编译之前加一句 “export LC_ALL=C” 就好。
网上搜到三个个解释
1> 在 Ubuntu18 上使用交叉编译工具,报这个错。研究之下发现,工具的绝对路径过长, ubuntu18 对其优化,修改路径,导致报错。
2> 用 “export LC_ALL=C” 来去除所有本地化的设置,让命令能正确执行
3> 添加 “export LC_ALL=C” 是去除本地C化,使得 Android 的编译工具与本地工具不冲突。