参数列表太长 - Android 2.2.3_r1编译失败
问题描述:
我已经下载了android 2.2.3_r1并设置了构建环境。参数列表太长 - Android 2.2.3_r1编译失败
我已经做了一个特殊的改变,在USB驱动器中添加以下行到buildspec.mk
文件并将其放在源目录中(该文件只有该行,因为我只想更改out目录)来构建输出。
OUT_DIR:=/media/SHANTHA/ANDROID
的构建过程做是为了发出以下命令:
source build/envsetup.sh
lunch full-eng
make -j4
当我运行make -j4
它相当长的时间之后结束跟踪结束处的行数。
...
...
target Prelink: libthread_db (/media/SHANTHA/ANDROID/target/product/generic/symbols/system/lib/libthread_db.so)
target StaticLib: libwebcore (/media/SHANTHA/ANDROID/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a)
make: execvp: /bin/bash: Argument list too long
make: *** [/media/SHANTHA/ANDROID/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/libwebcore.a] Error 127
make: *** Waiting for unfinished jobs....
[email protected]:~/ANDROID_S$
跟踪指示错误的make: execvp: /bin/bash: Argument list too long
这是一个很大的帮助,如果有人能帮助我解决这个问题。
答
构建WebKit时,我也有这个问题。
我的解决办法是下载内核源,变更线14中包括/ LINUX/binfmts.h从
的#define MAX_ARG_STRLEN(PAGE_SIZE * 32)
到
#define MAX_ARG_STRLEN(PAGE_SIZE * 64)
编译并安装内核并重启。
但是,这种解决方案的问题是每个正在运行的进程都需要更多的内存。但是你可以启动这个内核来构建android。