如何修改源码设置安卓开机默认为静态IP

如何修改源码设置安卓开机默认为静态IP,第1张

在EthernetManager.java (android\frameworks\base\ethernet\java\android\net\ethernet)中看到有函数

/**

* @hide - set dhcp mode as default config

*/

public void setDefaultConf() {...}

参考setEthernetMode函数,往里面添加了下面的代码:

long ident = Binder.clearCallingIdentity()

try{

String ipAddr = "192.168.1.100"

String gwAddr = "192.168.1.1"

String maskAddr = "255.255.255.0"

String dns1Addr = "192.168.1.1"

String dns2Addr = "223.5.5.5"

EthernetDevInfo cfg = getSavedConfig()

cfg.setMode(ETHERNET_CONNECT_MODE_MANUAL)

cfg.setIpAddress(ipAddr)

cfg.setGateWay(gwAddr)

cfg.setNetMask(maskAddr)

cfg.setDns1(dns1Addr)

cfg.setDns2(dns2Addr)

mService.setStaticConfig(cfg)

} catch (RemoteException e) {

Log.e(TAG, "setEthernetMode failed")

} finally {

Binder.restoreCallingIdentity(ident)

}

可以调用system()函数。把linux系统命令拼成字符串,然后调用system去执行这个字符串就可以了。修改系统配置,需要root身份。

1、system函数:

原型:int system(const char * command);

功能:执行 dos(windows系统) 或 shell(Linux/Unix系统) 命令,参数字符串command为命令名

说明:在windows系统中,system函数直接在控制台调用一个command命令。在Linux/Unix系统中,system函数会调用fork函数产生子进程,由子进程来执行command命令,命令执行完后随即返回原调用的进程;

头文件:stdlib.h;

返回值:命令执行成功返回0,执行失败返回-1。

2、例程:

#include<stdio.h>

#include<stdlib.h>

int main(){

    system("del C:\\123.txt")//在控制台中,执行命令del  C:\\123.txt,删除C盘目录下的123.txt文件

    return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11179048.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存