Android(安卓)5.1 启动有线网卡并为其分配静态IP地址
Android 5.1系统的有线网卡架构参考RK3288架构。系统默认使用DHCP获取IP。下面我们就介绍设置静态IP的方法。
首先看一个代码。路径如下:
frameworks\opt\net\ethernet\java\com\android\server\ethernet\EthernetConfigStore.java
public class EthernetConfigStore extends IpConfigStore {
private static final String TAG = "EthernetConfigStore";
private static final String ipConfigFile = Environment.getDataDirectory() +
"/misc/ethernet/ipconfig.txt";
public EthernetConfigStore() {
}
public IpConfiguration readIpAndProxyConfigurations() {
SparseArray
if (networks.size() == 0) {// 如果/misc/ethernet/ipconfig.txt这个文件不存在的话,那么我们就使用DHCP方法
Log.w(TAG, "No Ethernet configuration found. Using default.");
return new IpConfiguration(IpAssignment.DHCP, ProxySettings.NONE, null, null);
}
if (networks.size() > 1) {
// Currently we only support a single Ethernet interface.
Log.w(TAG, "Multiple Ethernet configurations detected. Only reading first one.");
}
return networks.valueAt(0);
}
public void writeIpAndProxyConfigurations(IpConfiguration config) {
SparseArray
networks.put(0, config);
writeIpAndProxyConfigurations(ipConfigFile, networks);
}
}
知道了这个方法。我们就在系统的Ethernet界面采用静态方法设置一下IP及其其他参数。从得到ipconfig.txt文件。然后进入命令行,输入 :
adb root
adb pull /data/misc/ethernet/ipconfig.txt
从而得到ipconfig.txt 。
下面我们通过修改ipconfig.txt 的路径。如下:
private static final String ipConfigFile = Environment.getRootDirectory() +
"/etc/ipconfig.txt";
这样我们就把ipconfig.txt这个文件拷贝到系统的etc目录下就可以了。方法如下:
在device.mk中增加如下代码:
PRODUCT_COPY_FILES += $(LOCAL_PATH)/ipconfig.txt:system/etc/ipconfig.txt
从新编译即可验证。
更多相关文章
- Android注入事件的三种方法比较
- Android中DRM mobile 1.0的初步介绍
- Android(安卓)JNI/NDK开发之基本姿势
- Android(安卓)实现ListView异步加载图片
- Android软件开发之常用系统控件界面整理
- Android(安卓)ubuntu10.04 源码下载和编译
- Android应用升级构想和要点总结
- Android(安卓)Robotium小结
- [ZZ][Android]使用bindService启动服务