Android 2.2 开始增加了WiFi Hotspot,可将Android设备作为无线热点、向其他WiFi设备共享网络连接,参考 Sharing your mobile data connection

前面,我将 Realtek 8192cu 驱动移植到 Android 2.2。Realtek 8192cu 驱动包中也包含了一个 hostapd 的实现以及Android SoftapController实现,通过以下步骤,可以在Android上实现SoftAP

1、在init.rc中增加hostapd服务

service hostapd /system/bin/hostapd_wps /data/misc/wifi/hostapd.conf        group wifi inet        disabled        oneshot

2、移植Realtek的hostapd实现

将驱动包中的external\hostapd-0.6.9_rtl 复制到Android 的external/ 目录下。需要修改 external/hostapd-0.6.9_rtl/hostapd/Android.mk,在文件接近末尾处,增删如下所示的几行

OBJS_c = hostapd/hostapd_cli.c src/common/wpa_ctrl.c src/utils/os_$(CONFIG_OS).cinclude $(CLEAR_VARS)LOCAL_MODULE := hostapd_cli#LOCAL_MODULE_TAGS := optionalLOCAL_SHARED_LIBRARIES := libc libcutilsLOCAL_CFLAGS := $(L_CFLAGS)LOCAL_SRC_FILES := $(addprefix hostapd$(HOSTAPD_VER)/,$(OBJS_c))LOCAL_C_INCLUDES := $(INCLUDES)include $(BUILD_EXECUTABLE)

OBJS_c = hostapd/hostapd_wps.cinclude $(CLEAR_VARS)LOCAL_MODULE := hostapd_wps#LOCAL_MODULE_TAGS := optionalLOCAL_SHARED_LIBRARIES := libc libcutilsLOCAL_CFLAGS := $(L_CFLAGS)LOCAL_SRC_FILES := $(addprefix hostapd$(HOSTAPD_VER)/,$(OBJS_c))LOCAL_C_INCLUDES := $(INCLUDES)include $(BUILD_EXECUTABLE)

include $(CLEAR_VARS)LOCAL_MODULE := hostapd#LOCAL_MODULE_TAGS := optionalLOCAL_SHARED_LIBRARIES := libc libcutilsLOCAL_SHARED_LIBRARIES += $(LIBS)LOCAL_CFLAGS := $(L_CFLAGS)LOCAL_SRC_FILES := $(addprefix hostapd$(HOSTAPD_VER)/,$(OBJS))LOCAL_C_INCLUDES := $(INCLUDES)include $(BUILD_EXECUTABLE)

local_target_dir := $(TARGET_OUT)/etc/wifiinclude $(CLEAR_VARS)LOCAL_MODULE := hostapd.conf#LOCAL_MODULE_TAGS := optionalLOCAL_MODULE_CLASS := ETCLOCAL_MODULE_PATH := $(local_target_dir)LOCAL_SRC_FILES := hostapd$(HOSTAPD_VER)/hostapd/hostapd.conf.androidinclude $(BUILD_PREBUILT)

OBJS_c = src/common/wpa_ctrl.c src/utils/os_$(CONFIG_OS).cinclude $(CLEAR_VARS)LOCAL_MODULE = libhostapd_clientLOCAL_PRELINK_MODULE := false#LOCAL_MODULE_TAGS := optionalLOCAL_CFLAGS = $(L_CFLAGS)LOCAL_SRC_FILES := $(addprefix hostapd$(HOSTAPD_VER)/,$(OBJS_c))LOCAL_C_INCLUDES = $(INCLUDES)LOCAL_SHARED_LIBRARIES := libc libcutilsLOCAL_COPY_HEADERS_TO := libhostapd_clientLOCAL_COPY_HEADERS := hostapd$(HOSTAPD_VER)/src/common/wpa_ctrl.hinclude $(BUILD_SHARED_LIBRARY

3、移植Realtek的SoftapController实现

将Realtek驱动包中system\netd\ 目录下的Android.mk、SoftapController_realtek.cpp 2个文件复制/覆盖到 Android 源码 system/netd/ 目录下

修改 Android 源码 frameworks/base/core/res/res/values/config.xml 文件,找到下面2个字符串数组,分别增加如下几个item:

    <!-- List of regexpressions describing the interface (if any) that represent tetherable         Wifi interfaces.  If the device doesn't want to support tethering over Wifi this         should be empty.  An example would be "softap.*" --><string-array translatable="false" name="config_tether_wifi_regexs"><item>"wlap0"</item></string-array>

<!-- Regex array of allowable upstream ifaces for tethering - for example if you want         tethering on a new interface called "foo2" add <item>"foo\\d"</item> to the array --><string-array translatable="false" name="config_tether_upstream_regexs"><item>"ppp\\d"</item>            <item>"eth\\d"</item>            <item>"wlan\\d"</item></string-array>

Android运行后,通过Settings->Wireless & Networks->Portable hotspot 启用“Portable Wi-Fi hotspot”,并可通过 Portable Wi-Fi hotspot settings->Configure Wi-Fi hotspot 设置SSID、安全性等。我这边看到支持Open、WPA2 PSK 2种安全选项

Hotspot启动后,其它WiFi设备就可以连接上来

android.net.wifi.WifiManager 类有几个关于SoftAP的隐藏接口,应用程序可以通过反射来调用:

  • isWifiApEnabled
  • setWifiApEnabled
  • getWifiApState
  • getWifiApConfiguration
  • setWifiApConfiguration

转载于:https://www.cnblogs.com/bpasser/archive/2011/10/15/2213483.html

Realtek 8192cu 支持 Android Hotspot相关推荐

  1. 在Ubuntu上编译opencv 2.4.13源码支持android平台操作步骤

    之前在https://blog.csdn.net/fengbingchun/article/details/96430706中编译过opencv源码用于海思平台,这里通过修改脚本编译opencv 2. ...

  2. flutter 刷脸_GitHub - nnnggel/baidu_face_plugin: 百度人脸识别和活体检测 Flutter 插件(目前版本仅支持 Android)...

    baidu_face_plugin 百度人脸识别和活体检测 Flutter 插件(目前版本仅支持 Android) 使用方式 注册百度开发者账号 前往 百度开发者账号 进行注册. 申请并配置licen ...

  3. appium python框架结构,GitHub - wyybingo/python-appium: 基于PageObject UI自动化测试框架,支持Android/iOS...

    0910 UPDATE 新增控件集参数化,相同测试步骤的Android/iOS可共用一份测试用例 不同测试步骤的用例还需要单独写 0904 UPDATE 优化Android log及crsahinfo ...

  4. Android10剪贴板,剪纸堆 Clip Stack - 轻量级剪贴板管理程序(支持 Android 10)

    编辑点评 剪贴板的历史记录这么看 剪纸堆 Clip Stack - 轻量级剪贴板管理程序(支持 Android 10) 介绍 剪纸堆 Clip Stack - 轻量级剪贴板管理程序(支持 Androi ...

  5. Go 1.4 正式版发布,官方正式支持 Android

    Go 1.4 正式发布啦,是第五个 Go 的稳定版本,与上一个稳定版本 Go 1.3 相隔 6 个月.Go 1.4 包括一些小的语言改进,支持更多的操作系统和处理器架构:改进了工具链和库.同时,Go ...

  6. linux安卓双系统板子,安卓迷你 PC 主机只要 109 美元,支持 Android 和 Linux 双系统...

    Android 是一款非常适合DIY的操作系统,距今我们也见过了不少 Android 迷你 PC 产品.日前,一款名为UDOO 的新产品也出现在了我们眼前-- 这款设备基本上就是树莓派(Raspber ...

  7. vs2015 支持Android arm neon Introducing Visual Studio’s Emulator for Android

    visual studio 2015支持Android开发了. Microsoft released Visual Studio 2015 Preview this week and with it ...

  8. pythonwebview自动化测试_GitHub - githubwzg/python-appium: 基于PageObject UI自动化测试框架,支持Android/iOS...

    0910 UPDATE 新增控件集参数化,相同测试步骤的Android/iOS可共用一份测试用例 不同测试步骤的用例还需要单独写 0904 UPDATE 优化Android log及crsahinfo ...

  9. 哪些手机支持android q,安卓Q首批升级名单公布,华为终于有一款机型支持原生...

    原标题:安卓Q首批升级名单公布,华为终于有一款机型支持原生 在今天凌晨举行的I/O大会上,谷歌正式发布了新一代Android 系统Android Q.新系统最大的特性就是在用户隐私和数据安全做了一系列 ...

最新文章

  1. 科大讯飞全新1024:3大计划,200项A.I.能力,全链路驱动应用场景创新!
  2. 计算机网络实验(思科模拟器Cisco Packet Tracer)——路由器配置
  3. linux svn 常用命令
  4. 1021. Remove Outermost Parentheses删除最外层的括号
  5. MHT格式文件更换默认图标及打开后显示乱码的问题
  6. DNN模型训练词向量原理
  7. jz2440开发板修改UBOOT支持NAND FLASH
  8. 惠普打印机怎么无线连接电脑_惠普打印机连不上无线?怎么解!
  9. easyui中combotree只能选子选项,父级不被选中
  10. MongoDB的RestAPI微服务组件--Mongo-Rest介绍
  11. 机器学习中的数学(四)--线性代数
  12. Redis中数据结构和编码详细图解(应用场景及优缺点)
  13. Android 8.0(30)--- 应用快捷方式(ShortcutManager)的使用
  14. 微软 Edge bug 导致黑客窃取用户在任意站点的机密信息,颁发2万美元奖金
  15. WINDOWS下简单操作SQLITE3
  16. fread函数 linux在哪,fread函数返回值
  17. Favicon网页收藏图标在线制作PHP网站源码/ICO图片在线生成/支持多种图片格式转换
  18. Centos8关闭防火墙
  19. F-星球大战 几何 割线定理 精度
  20. un-app部署h5项目到普通云服务器--域名解析--OOS对象存储

热门文章

  1. 用Java统计姓氏个数_JAVA统计数字个数
  2. php记录邮件发送,有关php邮件发送一点记录
  3. java结果集分页太慢_巨大结果集的分页错误
  4. 情感分析(Sentiment Analysis)的难题--转
  5. uvalive5790(DP)
  6. 【NOIP2015模拟10.27】魔道研究
  7. 2017年10月07日普及组 数列
  8. java 请求响应_java http接口请求响应 request response
  9. mysql幻读和不可重复读的区别_面试官:MySQL的可重复读级别能解决幻读吗
  10. jeecms内容管理系统使用了哪些技术