接:http://blog.youkuaiyun.com/zangcf/article/details/40870369,这边文章只描述如何移植底层部分
1, 由于android本身没有Ethernet的架构,我们必须从Android-x86上面移植,Android-x86是一个开源项目,大家可以翻墙从谷歌网站下载,或者是从这里
http://download.youkuaiyun.com/detail/zangcf/8187113下载。这个包包含4.04(ICS)和4.2(jb),两个版本的差分包。4.2不完整,但是对于移植到4.2系统上而言,架构上本4.04好一些,需要debug修改,建议使用ICS版本的差分包。
2,根据Android硬件管理架构Manager-Service-HAL(jni),我们需要在framework/base下面建立一个文件夹,这个包需要在编译路径上加入。
需要修改build//core/pathmap.mk
FRAMEWORKS_BASE_SUBDIRS变量上加上ethernet
3,我们知道android的dhcp的配置文件在rom的/system/etc/,其下面有一个dns相关的脚本文件/dhcpcd-hooks/20-dns.conf,这个脚本将记录dns服务器的地址,这个脚本在源代码的externel//dhcpcd-hooks/20-dns.conf下面,我们需要添加对ethernet的支持。
setprop net.dns${count} ${dnsaddr}
dhcpcd的工作原理,请参考文章:http://blog.youkuaiyun.com/cupidove/article/details/23122003
4,因为我们需要根据系统属性值变化来启动dhcp等,所