android4.0.3 添加Ethernet
来源:互联网 发布:中国象棋人机对战软件 编辑:程序博客网 时间:2024/04/28 22:38
在网上在网上查找ethernet移植相关资料时发现,若要移植的是android-xxx的版本的ethernet,就需要android-x86在xxx版本上的相关源码。但是查看android-x86 4.0版本的源码(目前没找到android-x86 4.0.3版本),发现android-x86 4.0版本中也没包含有ethernet相关代码,故下载了ethernet 补丁文件。
下载地址:http://www.android-x86.org/download
下载: Patch下的ethernet.diff.tar.gz。
把下载的补丁放至linux中解压,用patch命令分别给build、framework、package相关目录打补丁,如:
把frameworks-base.diff放到\frameworks\base下,用命令 patch -p1 <frameworks-base.diff即可打好该目录下的补丁。(注:补丁一定要打全,否则编译很容易报错)
打好补丁后,还要做些修改:
1. 在EthernetStateTracker.java的
public void defaultRouteSet(boolean enabled) {
mDefaultRouteSet.set(enabled);
}后加上下面两个继承接口函数:
@Override
public void setPolicyDataEnable(boolean enabled){
}
@Override
public void setUserDataEnable(boolean arg0) {
// TODO Auto-generated method stub
}
2. system\core\libnetutils\dhcp_utils.c的 dhcp_do_request函数中,把
snprintf(daemon_cmd,sizeof(daemon_cmd),"%s","dhcpcd_wlan0");改成
snprintf(daemon_cmd,sizeof(daemon_cmd),"%s","dhcpcd_eth0");
编译源码,期间会提示有提示要 make-update api,执行后即可。到此,即可通过setting界面自动获取IP连接上ethernet。
目前分析理解:
EthernetManager:以太网配置的Android API接口,可通过getSystemService接口获取
NetWorkStateTracker: 每种网络都有各自NetWorkStateTracker的子类, 来负责以太网状态的监听, ConnectivityService统一管理它们。
EthernetService:负责配置信息的保存和读取
EthernetStateTracker:继承NetWorkStateTracker, 负责以太网状态的监听和配置
系统启动时EthernetStateTracker就会创建EthernetMonitor线程来监听网络状态信息, 监听的通过jni调用c代码完成的, 原理就是监听NetLink Socket, 网络连接或断开时这个socket端口就会接收到信息。当有网线连接上时,EthernetMonitor线程就会给EthernetStateTracker发送EVENT_HW_PHYCONNECT消息, EthernetStateTracker读取配置信息, 由于我们在Settings设置为DHCP, 就会通过DhcpHandle给DhcpThread发送EVENT_DHCP_START信息, DhcpThread就会运行NetUtil.runDhcp()来自动获取网络地址。接下来EthernetMonitor线程又会收到网络已通的消息, 并通过EVENT_HW_CONNECTED通知EthernetStateTracker EthernetStateTracker接着会发送EVENT_STATE_CHANGED消息给ConnectivityService。
- android4.0.3 添加Ethernet
- Android4.0.3/Android4.2.2 添加 Ethernet
- Android4.0.3/Android4.2.2 添加 Ethernet
- Android4.0.3/Android4.2.2 添加 Ethernet
- android4.0.3添加 Ethernet框架支持
- android4.0.3添加 Ethernet框架支持
- android4.0.3添加 Ethernet框架支持
- android4.0.3添加 Ethernet框架支持
- android4.0.3添加 Ethernet框架支持
- android4.0.3添加 Ethernet框架支持
- android4.0.3添加 Ethernet框架支持
- android4.0.3添加 Ethernet框架支持
- android4.0.3添加 Ethernet框架支持
- android4.0.3添加 Ethernet框架支持
- android4.0.4添加 Ethernet框架
- 以太网Ethernet移植(android4.3添加Ethernet框架支持)
- android4.0.4 增加ethernet
- android4.4增加ethernet
- java.lang.OutOfMemoryError: PermGen space解决方法
- 各种sizeof
- 比赛分数的计算
- 两个整数的最大公约数和最小公倍数
- NO.2 C++的cout高阶格式化操作<转载>
- android4.0.3 添加Ethernet
- 输入一串字符,分别输出字母 数字 符号的个数,以$结束
- 关于用malloc函数申请0字节内存的进一步讨论——《C语言深度解剖》笔记
- Office 2007无法卸载也无法安装的解决
- 堆排序实现
- mva2 tests && mpiP
- TS 流解码过程
- C#目录与文件总结
- 1000以内的阿姆斯特朗数