android 修改以太网mac地址_Android5.1修改以太网MAC地址(SElinux)

本文介绍了在Android5.1项目中如何修改以太网MAC地址,包括使用Linux命令行操作和处理SElinux权限问题。通过添加权限规则到system_app.te文件并重新编译内核,最终成功修改了MAC地址。
摘要由CSDN通过智能技术生成

最近高通平台Android5.1项目中有个关于设置以太网MAC的需求,大致流程是windows写到一块flash片区去保存序列号和以太网MAC地址,然后Android客户端通过相关接口去读取该字符串并加以显示,需要将其MAC地址同步到Android系统中MAC地址。

首先我加了个设备信息显示序列号和以太网的应用程序,通过LOCAL_JAVA_LIBRARIES加载所需要加载的相关接口库,然后再manifest中通过加载相关声明(注:此声明在application节点下)。这样一来我们的应用层可以正常读取相关flash片区的保存的内容了。

那么后面问题来了,我们如何同步Android系统内的保存的以太网的MAC地址呢?通过网上查询相关资料文献发现,我们可以通过执行相关Linux命令得到结果。通过串口执行相关命令发现如下命令是可以有效的修改Android5.1的/sys/class/net/eth0/address内保存的地址的:

netcfg(ifconfig) eth0 down

netcfg eth0 hwaddr 10:10:10:10:10:10

netcfg(ifconfig) eth0 up

所以通过增加Java代码执行这三条命令即可:

private void executeCMD(String cmd){

try {

Log.w(TAG, "cmd= " +cmd);

Runtime runtime = Runtime.getRuntime();

Process proc = runtime.exec(cmd);

} catch (IOException e) {

Log.w(TAG, "exe fa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值