3

我在编译 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 $ git clone git://android.googlesource.com/platform/bionic.git 仿生

进展顺利。我这样做:“编辑 build/core/main.mk 并注释掉标记的部分

  *# Check for the correct version of java*

  *# Check for the correct version of javac*

由于 adb 不需要 Java,因此这些检查是不必要的。还要编辑 build/target/product/sdk.mk 并注释掉后面的“include”行

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

这避免了下载 adb 不需要的语言文件。"那么就是Makefile了。这里我不知道现在该怎么办,就像博客说的那样,我应该像这样保存Makefile然后

cd system/core/adb; 
make

生成文件:

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 $@ $(LDFLAGS) $(OBJS) $(LIBS)


 clean:
       rm -rf $(OBJS)

然后出现错误:</p>

$ make arm-none-linux-gnueabi-gcc -O2 -g -Wall -Wno-unused-parameter -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:command not found make: * [adb_client .o] 错误 127

我认为这是我的操作系统是 ubuntu 而不是 Linux/ARM,但由于缺乏知识,我不知道我可以用这个 Makefile 做什么。请帮忙。谢谢!

4

1 回答 1

0

您需要通过命令为 ARM 安装交叉编译器

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

也许你需要为 arm 安装 g++ 交叉编译器。此致

于 2015-02-21T07:56:47.647 回答