移植wireless tools (iwpriv, iwconfig, iwgetid, iwevents, iwspy, iwlist)到Android
来源:互联网 发布:二进制转中文 Java 编辑:程序博客网 时间:2024/04/29 09:23
最近在调试WIFI softap功能,发现netd源码中包含"iwpriv"相关的注释,这个工具应该会对WIFI调试非常有用,于是准备将其移植到Android上。
首先到这里下载源码,然后解压,按照网上搜出来的方法,把目录里头Makefile的CC,AR等改成交叉编译所用的,但是发现make all的时候报缺少头文件错误。用-I将头文件引入之后在ld阶段又报缺少crt0.o。折腾了半天之后依然无果,于是决定直接在目录下加个Android.mk用Android的make来编译。
一次尝试之后竟然成功了,泪流满面,以下是具体步骤:
1,在目录下cp -f wirless.29.h wirelss.h (自带的Makefile就是这么干的,根据版本选择头文件,我下载的是.29版本)
2,在目录下加入Android.mk,内容如下:
# Copyright (C) 2008 The Android Open Source Project## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.LOCAL_PATH := $(call my-dir)ifneq ($(TARGET_SIMULATOR),true)include $(CLEAR_VARS)LOCAL_MODULE := libiwLOCAL_MODULE_TAGS := engLOCAL_SRC_FILES := iwlib.cLOCAL_C_INCLUDE += LOCAL_PATH#LOCAL_SHARED_LIBRARIES := libiwLOCAL_PRELINK_MODULE := falseinclude $(BUILD_SHARED_LIBRARY)#================================================include $(CLEAR_VARS)LOCAL_MODULE_TAGS := engLOCAL_SRC_FILES := iwpriv.cLOCAL_SHARED_LIBRARIES := libiwLOCAL_MODULE := iwprivinclude $(BUILD_EXECUTABLE)#================================================#================================================include $(CLEAR_VARS)LOCAL_MODULE_TAGS := engLOCAL_SRC_FILES := iwlist.cLOCAL_SHARED_LIBRARIES := libiwLOCAL_MODULE := iwlistinclude $(BUILD_EXECUTABLE)#================================================#================================================include $(CLEAR_VARS)LOCAL_MODULE_TAGS := engLOCAL_SRC_FILES := iwconfig.cLOCAL_SHARED_LIBRARIES := libiwLOCAL_MODULE := iwconfiginclude $(BUILD_EXECUTABLE)#================================================#================================================include $(CLEAR_VARS)LOCAL_MODULE_TAGS := engLOCAL_SRC_FILES := iwspy.cLOCAL_SHARED_LIBRARIES := libiwLOCAL_MODULE := iwspyinclude $(BUILD_EXECUTABLE)#================================================#================================================include $(CLEAR_VARS)LOCAL_MODULE_TAGS := engLOCAL_SRC_FILES := iwgetid.cLOCAL_SHARED_LIBRARIES := libiwLOCAL_MODULE := iwgetidinclude $(BUILD_EXECUTABLE)#================================================#================================================include $(CLEAR_VARS)LOCAL_MODULE_TAGS := engLOCAL_SRC_FILES := iwevent.cLOCAL_SHARED_LIBRARIES := libiwLOCAL_MODULE := iweventinclude $(BUILD_EXECUTABLE)#================================================endif # !TARGET_SIMULATOR
3,在目录下mm,将生成的libiw.so用adb push到/system/lib,其他的iwxxx push到/system/bin。
PS: 有用自带的Makefile编译成功的同学请指点一下啊。
- 移植wireless tools (iwpriv, iwconfig, iwgetid, iwevents, iwspy, iwlist)到Android
- 移植wireless tools (iwpriv, iwconfig, iwgetid, iwevents, iwspy, iwlist)到Android
- iwconfig, iwevent, iwlist, iwspy, iwpriv
- iwpriv/iwconfig/iwlist命令
- 移植wireless tools 到android
- Linux下的iwpriv、iwlist、iwconfig
- 移植wireless tools 到android并测试
- 移植wireless tools 到android并测试
- Linux下的iwpriv(iwlist、iwconfig)的简单应用
- Linux下的iwpriv(iwlist、iwconfig)的简单应用 .
- Linux下的iwpriv(iwlist、iwconfig)的简单应用
- Linux下的iwpriv(iwlist、iwconfig)的简单应用
- Linux下的iwpriv(iwlist、iwconfig)的简单应用
- Linux下的iwpriv(iwlist、iwconfig)的简单应用
- Linux下的iwpriv(iwlist、iwconfig)的简单应用
- Linux下的iwpriv(iwlist、iwconfig)的简单应用
- linux WIFI命令之iwlist、iwconfig、iwpriv、ifconfig
- Linux下的iwpriv(iwlist、iwconfig)的简单应用
- LVS大全
- hdu 1875 畅通工程再续
- wince下的快捷方式
- 恼人的尾椎疼痛
- 用gcc编译.cpp文件可能出现"undefined reference to `__gxx_personality_v0'"问题的解决
- 移植wireless tools (iwpriv, iwconfig, iwgetid, iwevents, iwspy, iwlist)到Android
- 作为兼并重组的重要方式之一,企业合并、分立的具体形式?
- 几个常用的shell命令(不断更新中)
- PHP中的目录遍历
- 方法中使用到的NSString是否需要dealloc?
- 学习熊猫烧香的源代码 (有注释)
- 正则表达式高级技巧背后的关键概念
- bash如何判断一个文件是否存在
- C# 中 MongoDB 更新操作