我在编译 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 做什么。请帮忙。谢谢!