参数列表太长 - Android 2.2.3_r1编译失败

问题描述:

我已经下载了android 2.2.3_r1并设置了构建环境。参数列表太长 - Android 2.2.3_r1编译失败

我已经做了一个特殊的改变,在USB驱动器中添加以下行到buildspec.mk文件并将其放在源目录中(该文件只有该行,因为我只想更改out目录)来构建输出。

OUT_DIR:=/media/SHANTHA/ANDROID 

的构建过程做是为了发出以下命令:

  1. source build/envsetup.sh
  2. lunch full-eng
  3. 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。