我已经下载了android 2.2.3_r1并设置了build environement。
我已经做了一个特殊的更改,通过在buildspec.mk
文件中添加以下行并将其放在源目录中来构建USB驱动器中的输出(该文件只有那行,因为我只想更改出来目录)。
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....
shantha@shantha:~/ANDROID_S$
跟踪将错误指示为make: execvp: /bin/bash: Argument list too long
如果有人可以帮我解决这个问题,那将是一个很好的帮助。
答案 0 :(得分:2)
构建WebKit时我也遇到了这个问题。
我的解决方案是下载内核源代码,在include / linux / binfmts.h中更改第14行
#define MAX_ARG_STRLEN(PAGE_SIZE * 32)
到
#define MAX_ARG_STRLEN(PAGE_SIZE * 64)
编译并安装内核并重新启动。
但是,此解决方案的问题是每个正在运行的进程都需要更多内存。但你可以启动这个内核只用于构建android。