Chinaunix首页 | 论坛 | 博客
  • 博客访问: 381771
  • 博文数量: 43
  • 博客积分: 1493
  • 博客等级: 上尉
  • 技术积分: 660
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-01 10:57
文章分类

全部博文(43)

文章存档

2015年(1)

2013年(1)

2011年(6)

2010年(13)

2009年(13)

2008年(9)

分类:

2009-12-08 13:27:21

Android 移植之 iperf

1 .移植准备

       1 ,源代码地址:

        下载 iperf-2.0.4.tar.gz ,并放到 Adroid_root/external

2 ,解压到 Adroid_root/external/ iperf-2.0.4.tar.gz;

       tar –zxvf iperf-2.0.4.tar.gz

2.           创建 Android.mk

       cat 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_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED)

 

#LOCAL_MODULE_TAGS := eng user

 

 

 

include $(BUILD_EXECUTABLE)

3.            先生成需要的头文件

       ./configure –host=arm

4.            代码修改

external/testtools/iperf/src/Listener.cpp:382 行改成:

mreq.ipv6mr_ifindex = 0;

compact/signal.c 里面的 #include "util.h"

改成 #include   “../include/util.h”

src/sockets.c 里面的 #include "util.h"

改成 #include  “../include/util.h”

 

5.         编译

$cd Adroid_root

$source build/envsetup.sh

$mmm external/iperf-2.0.4

 

6.         目标文件

         Android_root/build/out/target/product/generic/symbols/system/bin/ 目录下就可以看到你刚才编译生成的文件了;这个目录里的文件是带符号信息的,方便调试;

阅读(3325) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~