关于iperf 在android下的编译

Android 移植之 iperf 1 .移植准备
1 ,源代码地址:
http://sourceforge.net/projects/iperf/files/iperf/2.0.4%20source/iperf-2.0.4.tar.gz/download

或者去这里下载: http://download.csdn.net/source/2504319


2 ,解压 tar –zxvf iperf-2.0.4.tar.gz

如果你只是生成x86下的可执行文件,那么执行 configure 然后make就可以了!你可以在src目录找到生成的可执行文件。如果需要生成目标板的可执行文件则继续下面的操作

 

解压 iperf-2.0.4.tar.gz ,并放到 Adroid_root/external
3.创建 Android.mk

 

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_SRC_FILES := /
compat/Thread.c /
compat/error.c /
compat/delay.cpp /
compat/gettimeofday.c /
compat/inet_ntop.c /
compat/inet_pton.c /
compat/signal.c /
compat/snprintf.c /
compat/string.c

LOCAL_SRC_FILES += /
src/Client.cpp /
src/Extractor.c /
src/Launch.cpp /
src/List.cpp /
src/Listener.cpp /
src/Locale.c /
src/PerfSocket.cpp /
src/ReportCSV.c /
src/ReportDefault.c /
src/Reporter.c /
src/Server.cpp /
src/Settings.cpp /
src/SocketAddr.c /
src/main.cpp /
src/sockets.c /
src/stdio.c /
src/tcp_window_size.c /
src/gnu_getopt.c /
src/gnu_getopt_long.c /
src/service.c

LOCAL_C_INCLUDES += /
$(LOCAL_PATH) /
$(LOCAL_PATH)/include

LOCAL_CFLAGS += -O2

LOCAL_CFLAGS += -DHAVE_CONFIG_H

LOCAL_LDLIBS += -lpthread

LOCAL_SHARED_LIBRARIES := libc libm libcutils libnetutils

LOCAL_MODULE := iperf
#LOCAL_FORCE_STATIC_EXECUTABLE := true

#LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
LOCAL_MODULE_PATH := $(LOCAL_PATH)

#LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED)

#LOCAL_MODULE_TAGS := eng user

include $(BUILD_EXECUTABLE)

 

 

4.先生成需要的头文件
./configure --host=arm


5.修改源码中的头文件:
compact/signal.c 里面的 #include "util.h"
改成 #include  “../include/util.h”
src/sockets.c 里面的 #include "util.h"
改成 #include  “../include/util.h”


6.编译 $cd Adroid_root
$source . build/envsetup.sh
$mmm external/iperf-2.0.4

 

备注:在第六步,你可以学到如何在Android源码中单独编译某一个目录! 那就是 mmm 命令!

不知道你有没有发现在Android中当你编译完成后在每个源文件所在目录下根本看不到对应的 *.o 文件。是没有吗?是被删除了吗?当然不是!去这里看看你就知道了:/home/cpp/r7_new/out/target/product/***/obj/EXECUTABLES

你可能感兴趣的:(android,Module,Build,Path,include,tags)