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 networks = readIpAndProxyConfigurations(ipConfigFile);


        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 = new 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 

从新编译即可验证。

更多相关文章

  1. Android注入事件的三种方法比较
  2. Android中DRM mobile 1.0的初步介绍
  3. Android(安卓)JNI/NDK开发之基本姿势
  4. Android(安卓)实现ListView异步加载图片
  5. Android软件开发之常用系统控件界面整理
  6. Android(安卓)ubuntu10.04 源码下载和编译
  7. Android应用升级构想和要点总结
  8. Android(安卓)Robotium小结
  9. [ZZ][Android]使用bindService启动服务

随机推荐

  1. Android应用开发中使用GridView网格布局
  2. andorid 源码使用
  3. Android(安卓)sdk配置 常见问题及处理方
  4. EditText实现横向光标
  5. android EventBus源码解析
  6. Android(安卓)实现轮播图效果(三) 底部圆点
  7. Android(安卓)后台定时任务的实现和改进
  8. android系统 在jack-server下 生成 jar
  9. Android(安卓)retrofit网络交互在后台返
  10. Android简易计算器(四)—— 完整逻辑代码