2013-02-25 65 views
3

我遵守Android adb源代码时出现问题。我跟在谷歌的一些技巧:在ubuntu上构建android ADB时出现错误

$ git clone git://android.googlesource.com/platform/system/core.git 
system/core 
$ git clone git://android.googlesource.com/platform/build.git build 
$ git clone git://android.googlesource.com/platform/external/zlib.git 

外部/ zlib的 $混帐混帐克隆://android.googlesource.com/platform/bionic.git仿生

一切顺利。而我这样做: “ 编辑编译/核心/ main.mk和注释标记

*# Check for the correct version of java* 

*# Check for the correct version of javac* 

由于亚行并不需要Java的部分,这些检查是不必要的。 还可以编辑构建/目标/产品/ sdk.mk并注释掉“包括”

*# include available languages for TTS in the system image* 

这避免了后线下载adb不需要的语言文件。 “ 那么它的Makefile.Here我却不知道我现在应该做的,因为博客中说,我应该拯救的Makefile这样,然后

cd system/core/adb; 
make 

的Makefile:

SRCS+= utils.c 

VPATH+= ../libcutils SRCS+= abort_socket.c SRCS+= 
socket_inaddr_any_server.c SRCS+= socket_local_client.c SRCS+= 
socket_local_server.c SRCS+= socket_loopback_client.c SRCS+= 
socket_loopback_server.c SRCS+= socket_network_client.c 


VPATH+= ../libzipfile SRCS+= centraldir.c SRCS+= zipfile.c 


VPATH+= ../../../external/zlib SRCS+= adler32.c SRCS+= compress.c 
SRCS+= crc32.c SRCS+= deflate.c SRCS+= infback.c SRCS+= inffast.c 
SRCS+= inflate.c SRCS+= inftrees.c SRCS+= trees.c SRCS+= uncompr.c 
SRCS+= zutil.c 


CPPFLAGS+= -DADB_HOST=1 CPPFLAGS+= -DHAVE_FORKEXEC=1 CPPFLAGS+= 
-DHAVE_SYMLINKS CPPFLAGS+= -DHAVE_TERMIO_H CPPFLAGS+= -D_GNU_SOURCE CPPFLAGS+= -D_XOPEN_SOURCE CPPFLAGS+= -I. CPPFLAGS+= -I../include 
CPPFLAGS+= -I../../../external/zlib 


CFLAGS+= -O2 -g -Wall -Wno-unused-parameter LDFLAGS= -static LIBS= 
-lrt -lpthread 


**TOOLCHAIN= arm-none-linux-gnueabi- CC= $(TOOLCHAIN)gcc LD= $(TOOLCHAIN)gcc** 


OBJS= $(SRCS:.c=.o) 


all: adb 


adb: $(OBJS) 
     $(LD) -o [email protected] $(LDFLAGS) $(OBJS) $(LIBS) 


clean: 
     rm -rf $(OBJS) 

然后发生了错误:

$让手臂没有-Linux的gnueabi-GCC -02 -g -Wall -Wno-未使用的参数 -DADB_HOST = 1 -DHAVE_FORKEXEC = 1 -DHAVE_SYMLINKS -DHAVE_TERMIO _H -D_GNU_SOURCE -D_XOPEN_SOURCE -I。 -I ../ include -I ../../../ external/zlib -c -o adb_client.o adb_client.c make:arm-none-linux-gnueabi-gcc:找不到命令make:* [adb_client.o] 错误127

我觉得这是我的操作系统是Ubuntu的,但不是Linux/ARM,但我不知道我可以用这个Makefile做的,因为知识的缺乏。请提供 帮助。 谢谢!

+0

你真的需要编译它吗?为什么不安装预编译的软件包? http://stackoverflow.com/questions/10493334/ubuntu-ppa-for-android-sdk-ndk – 2013-02-25 16:07:55

+0

,因为我想 – 2013-02-26 04:49:48

+0

因为我想修改一些源文件,并了解adb如何工作,所以我必须。 – 2013-02-26 04:51:10

回答

0

你需要通过命令

sudo apt-get install gcc-4.6-multilib-arm-linux-gnueabi 

也许你需要安装G ++交叉编译器,臂安装交叉编译器,ARM。 祝你好运

+0

海报不打算交叉编译。对arm的引用要么是完全错误的,要么是他们的ubuntu系统在运行,他们应该安装的是构建必要的元包。 – 2015-02-21 08:18:44