/system/bin/sh: iwpriv: not found 问题解决方案
在使用iwpriv
命令时,遇到了 /system/bin/sh: iwpriv: not found
报错,如何去手机/system/bin
目录下查找,果然没有这个命令,像ifconfig logcat adbd这些都是有的。所以手机需要安装 wireless-tools 工具。
1、首先下载代码:
代码下载后解压并放到手机源码external/wireless-tools
路径下。
2、添加Android.mk
LOCAL_PATH:=$(call my-dir)
# iwlib
include $(CLEAR_VARS)
LOCAL_SRC_FILES := iwlib.c
LOCAL_CFLAGS += -Wno-parentheses-equality -Wno-tautological-compare -Wno-self-assign \
-Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual \
-Winline -MMD -fPIC
LOCAL_STATIC_LIBRARIES := libcutils libc libm
LOCAL_MODULE := libiw
LOCAL_MODULE_TAGS :=optional
include $(BUILD_STATIC_LIBRARY)
# iwconfig
include $(CLEAR_VARS)
LOCAL_SRC_FILES := iwconfig.c
LOCAL_CFLAGS += -Wno-parentheses-equality -Wno-tautological-compare -Wno-self-assign \
-Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual \
-Winline -MMD -fPIC
LOCAL_STATIC_LIBRARIES := libcutils libc libm libiw
LOCAL_FORCE_STATIC_EXECUTABLE := true
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) # install to system/xbin
LOCAL_MODULE:= iwconfig
LOCAL_MODULE_TAGS :=optional
include $(BUILD_EXECUTABLE)
# iwevent
include $(CLEAR_VARS)
LOCAL_SRC_FILES := iwevent.c
LOCAL_CFLAGS += -Wno-parentheses-equality -Wno-tautological-compare -Wno-self-assign \
-Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual \
-Winline -MMD -fPIC
LOCAL_STATIC_LIBRARIES := libcutils libc libm libiw
LOCAL_FORCE_STATIC_EXECUTABLE := true
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) # install to system/xbin
LOCAL_MODULE:= iwevent
LOCAL_MODULE_TAGS :=optional
include $(BUILD_EXECUTABLE)
# iwgetid
include $(CLEAR_VARS)
LOCAL_SRC_FILES := iwgetid.c
LOCAL_CFLAGS += -Wno-parentheses-equality -Wno-tautological-compare -Wno-self-assign \
-Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual \
-Winline -MMD -fPIC
LOCAL_STATIC_LIBRARIES := libcutils libc libm libiw
LOCAL_FORCE_STATIC_EXECUTABLE := true
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) # install to system/xbin
LOCAL_MODULE:= iwgetid
LOCAL_MODULE_TAGS :=optional
include $(BUILD_EXECUTABLE)
# iwlist
include $(CLEAR_VARS)
LOCAL_SRC_FILES := iwlist.c
LOCAL_CFLAGS += -Wno-parentheses-equality -Wno-tautological-compare -Wno-self-assign \
-Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual \
-Winline -MMD -fPIC
LOCAL_STATIC_LIBRARIES := libcutils libc libm libiw
LOCAL_FORCE_STATIC_EXECUTABLE := true
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) # install to system/xbin
LOCAL_MODULE:= iwlist
LOCAL_MODULE_TAGS :=optional
include $(BUILD_EXECUTABLE)
# iwpriv
include $(CLEAR_VARS)
LOCAL_SRC_FILES := iwpriv.c
LOCAL_CFLAGS += -Wno-parentheses-equality -Wno-tautological-compare -Wno-self-assign \
-Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual \
-Winline -MMD -fPIC
LOCAL_STATIC_LIBRARIES := libcutils libc libm libiw
LOCAL_FORCE_STATIC_EXECUTABLE := true
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) # install to system/xbin
LOCAL_MODULE:= iwpriv
LOCAL_MODULE_TAGS :=optional
include $(BUILD_EXECUTABLE)
# iwspy
include $(CLEAR_VARS)
LOCAL_SRC_FILES := iwspy.c
LOCAL_CFLAGS += -Wno-parentheses-equality -Wno-tautological-compare -Wno-self-assign \
-Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual \
-Winline -MMD -fPIC
LOCAL_STATIC_LIBRARIES := libcutils libc libm libiw
LOCAL_FORCE_STATIC_EXECUTABLE := true
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) # install to system/xbin
LOCAL_MODULE:= iwspy
LOCAL_MODULE_TAGS :=optional
LOCAL_CFLAGS += -Wno-parentheses-equality -Wno-tautological-compare -Wno-self-assign
include $(BUILD_EXECUTABLE)
3、直接单编wireless-tool mmm external/wireless-tools/
我的代码是经过自己修改的,把报错都解决了,直接编译成功。如果有错误,可以在不影响其他代码的前提下把错误代码注释掉。
4、编译成功后生成的文件在路径system/xbin/
下
可以看到 其中就有 iwpriv 文件,还有一些其他常用命令,比如 tcpdump、iwlist 等待。直接把相应的文件push到手机 system/xbin
目录下,手机就可以用这些命令了。