有时我们需要使用命令行来配置eth0的IP信息,这在linux系统是非常简单的,网上也有很多资料。但是在Android系统,就非常困难,因为Android精简掉了很多linux命令,而且配置的方法也和linux有区别,甚至不同Android版本,不同平台方法也不一样。
那如何解决这个问题呢?还是得借助busybox,busybox集成了很多linux的命令,只需要push这一个命令就可以解决,确实方便不少。下面说说具体方法。
1.ifconfig 查看物理网卡名称,通常是eth0
2.配置IP和子网掩码 ifconfig eth0 192.168.1.111/24 up
如果只是连接内网,一般仅配置IP就可以了,如果需要连接外网,还需要配置DNS和网关
3.配置网关 busybox route add default gw 192.168.1.1
4.配置DNS 这一步没有找到好的解决方案,linux的那一套行不通。
既然linux的行不通,那就只能研究Android代码来解决。通过研究发现Android设置IP后把数据保存在/data/misc/ethernet/ipconfig.txt
所以我们可以手动push一个配置文件进去,让系统开机时去加载。由于这个文件格式有点特殊,复制粘贴是无法使用的,我上传一个可用的文件,需要使用的下载后仅仅修改里面的IP等数字数据即可。