第一次使用Android构建器。过去,我经常在FreeBSD上做很多事情。用Android重新进入怪胎。
我正在尝试为Nexus 6 NBD90Z构建android-7.0.0_r14以在仿真下运行。我打算最终为我的实际手机构建,并且此配置非常接近。我在ubuntu 18.04 LTS上构建,它比文档建议的要新。也许这有点冒险。
这是我运行make时得到的。
...狙击
build/core/base_rules.mk:316: warning: ignoring old commands for target
out/target/product/shamu/system/lib/soundfx/libqcomvoiceprocessing.so'
Starting build with ninja
ninja: Entering directory.'
ninja: warning: multiple rules generate out/target/product/shamu/system/etc/gps.conf. builds involving this target will not be correct; continuing anyway [-w dupbuild=warn]
[ 0% 1/35600] Lex: libaidl-common <= system/tools/aidl/aidl_language_l.ll
FAILED: /bin/bash -c "prebuilts/misc/linux-x86/flex/flex-2.5.39 -oout/host/linux-x86/obj/STATIC_LIBRARIES/libaidl-common_intermediates/aidl_language_l.cpp system/tools/aidl/aidl_language_l.ll"
flex-2.5.39: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.
Aborted (core dumped)
ninja: build stopped: subcommand failed.
build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
A core dump for flex was not produced in spite of the error message given.
out/host/linux-x86/obj/STATIC_LIBRARIES/libaidl-common_intermediates/aidl_language_l.cpp does not exist. That entire folder is empty. It would seem that something is not downloading/copying the aidl_language_l.cpp.
关于我可能搞砸了的任何想法吗?
对于git/repo/make/ninja/soong/lunch
进行构建的复杂性,我仍然有些困惑。我很可能错过了一些明显的事情。
谢谢, 杰森·威尔斯(Jason C.Wells)
答案 0 :(得分:0)
我仔细看了一下之后,意识到预建的prebuilts / misc / linux-x86 / flex / flex-2.5.39将不带任何参数地转储核心。我创建了一个到/ usr / bin / flex的软链接。编译似乎正在进行中。
我还没有回答为什么预制件要倾倒的原因。我的目标是编译android,而不是对工具进行故障排除。
答案 1 :(得分:0)
只需将make
替换为export LC_ALL=C make
或将export
放入您的.bashrc
答案 2 :(得分:0)
我执行了Snorky的步骤。我删除了libaidl-common_intermediates的输出目录。我删除了软链接,并恢复了flex的android树版本。我在本地仓库的顶部重新运行了make。构建过程会继续进行,直到出现上述错误,并在出现新错误时停止。看来Snorky的答案有效。
Do!我是新来的,所以没有赞扬我的投票。