How to build iwpriv tool
step1:
https://hewlettpackard.github.io/wireless-tools/wireless_tools.29.tar.gz
step2:
Below is the sample of Android.mk:
# This is a sample Android.mk for Wireless tools
LOCAL_PATH:=$(call my-dir)
# GENERAL
MY_CFLAGS := -g -Wall -W -O3 -Wno-unused-but-set-variable -Wno-array-bounds -Wno-self-assign -Werror
MY_C_INCLUDES :=
MY_SHARED_LIBS :=
MY_STATIC_LIBS :=
WE_VERSION := $(shell sed -ne "/WE_VERSION/{s:\([^0-9]*\)::;p;q;}" < $(LOCAL_PATH)/iwlib.h)
$(info "WE_VERSION is $(WE_VERSION) ")
$(info "copy wireless.$(WE_VERSION).h to wireless.h ")
$(shell cp $(LOCAL_PATH)/wireless.$(WE_VERSION).h $(LOCAL_PATH)/wireless.h)
MY_SRC_LWE := iwlib.c
MY_STATIC_LIBS += libm
MY_C_INCLUDES += bionic/libm/include bionic/libm
MY_CFLAGS += -Wshadow -Wpointer-arith -Wcast-qual -Winline -fPIC
include $(CLEAR_VARS)
LOCAL_MODULE := iwconfig
LOCAL_SRC_FILES := $(MY_SRC_LWE) iwconfig.c
LOCAL_CFLAGS += $(MY_CFLAGS)
LOCAL_C_INCLUDES := $(MY_C_INCLUDES)
LOCAL_STATIC_LIBRARIES := $(MY_STATIC_LIBS)
LOCAL_SHARED_LIBRARIES := $(MY_SHARED_LIBS)
include $(BUILD_EXECUTABLE)
include $(CLEAR_VARS)
LOCAL_MODULE := iwlist
LOCAL_SRC_FILES := $(MY_SRC_LWE) iwlist.c
LOCAL_CFLAGS += $(MY_CFLAGS)
LOCAL_C_INCLUDES := $(MY_C_INCLUDES)
LOCAL_STATIC_LIBRARIES := $(MY_STATIC_LIBS)
LOCAL_SHARED_LIBRARIES := $(MY_SHARED_LIBS)
include $(BUILD_EXECUTABLE)
include $(CLEAR_VARS)
LOCAL_MODULE := iwpriv
LOCAL_SRC_FILES := $(MY_SRC_LWE) iwpriv.c
LOCAL_CFLAGS += $(MY_CFLAGS)
LOCAL_C_INCLUDES := $(MY_C_INCLUDES)
LOCAL_STATIC_LIBRARIES := $(MY_STATIC_LIBS)
LOCAL_SHARED_LIBRARIES := $(MY_SHARED_LIBS)
include $(BUILD_EXECUTABLE)
include $(CLEAR_VARS)
LOCAL_MODULE := iwspy
LOCAL_SRC_FILES := $(MY_SRC_LWE) iwspy.c
LOCAL_CFLAGS += $(MY_CFLAGS)
LOCAL_C_INCLUDES := $(MY_C_INCLUDES)
LOCAL_STATIC_LIBRARIES := $(MY_STATIC_LIBS)
LOCAL_SHARED_LIBRARIES := $(MY_SHARED_LIBS)
include $(BUILD_EXECUTABLE)
include $(CLEAR_VARS)
LOCAL_MODULE := iwgetid
LOCAL_SRC_FILES := $(MY_SRC_LWE) iwgetid.c
LOCAL_CFLAGS += $(MY_CFLAGS)
LOCAL_C_INCLUDES := $(MY_C_INCLUDES)
LOCAL_STATIC_LIBRARIES := $(MY_STATIC_LIBS)
LOCAL_SHARED_LIBRARIES := $(MY_SHARED_LIBS)
include $(BUILD_EXECUTABLE)
include $(CLEAR_VARS)
LOCAL_MODULE := iwevent
LOCAL_SRC_FILES := $(MY_SRC_LWE) iwevent.c
LOCAL_CFLAGS += $(MY_CFLAGS)
LOCAL_C_INCLUDES := $(MY_C_INCLUDES)
LOCAL_STATIC_LIBRARIES := $(MY_STATIC_LIBS)
LOCAL_SHARED_LIBRARIES := $(MY_SHARED_LIBS)
include $(BUILD_EXECUTABLE)
include $(CLEAR_VARS)
LOCAL_MODULE := ifrename
LOCAL_SRC_FILES := $(MY_SRC_LWE) ifrename.c
LOCAL_CFLAGS += $(MY_CFLAGS)
LOCAL_C_INCLUDES := $(MY_C_INCLUDES)
LOCAL_STATIC_LIBRARIES := $(MY_STATIC_LIBS)
LOCAL_SHARED_LIBRARIES := $(MY_SHARED_LIBS)
include $(BUILD_EXECUTABLE)
# error: undefined reference to 'iw_saether_ntop'
# solution: replace #include "iwlib.h" by #include "iwlib-private.h" in macaddr.c
include $(CLEAR_VARS)
LOCAL_MODULE := macaddr
LOCAL_SRC_FILES := $(MY_SRC_LWE) macaddr.c
LOCAL_CFLAGS += $(MY_CFLAGS)
LOCAL_C_INCLUDES := $(MY_C_INCLUDES)
LOCAL_STATIC_LIBRARIES := $(MY_STATIC_LIBS)
LOCAL_SHARED_LIBRARIES := $(MY_SHARED_LIBS)
include $(BUILD_EXECUTABLE)
include $(CLEAR_VARS)
LOCAL_MODULE := iwmulticall
LOCAL_SRC_FILES := iwmulticall.c
LOCAL_CFLAGS += $(MY_CFLAGS) -Wstrict-prototypes -Wmissing-prototypes -MMD -Wl,-s
LOCAL_C_INCLUDES := $(MY_C_INCLUDES)
LOCAL_STATIC_LIBRARIES := $(MY_STATIC_LIBS)
LOCAL_SHARED_LIBRARIES := $(MY_SHARED_LIBS)
include $(BUILD_EXECUTABLE)
###
posted on 2021-08-27 14:24 huangguanyuan 阅读(319) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~