.NET MAUI 开发的app 调用ip addr add {ipAddress}/{subnetMask} dev eth0 指令修改安卓系统的orange Pi 5的有线IP地址

public static void ExecuteAdbCommand(string command)
{
Java.Lang.Process process = Java.Lang.Runtime.GetRuntime().Exec("su");
using (var @out = new Java.IO.OutputStreamWriter(process.OutputStream))
{
@out.Write(command + "\n");
@out.Write("exit\n");
@out.Flush();
}
int result = process.WaitFor();
}

调用

ExecuteAdbCommand("ip addr flush dev eth0");
ExecuteAdbCommand("ip addr add 192.168.1.160/24 dev eth0");
ExecuteAdbCommand("ip link set eth0 up");

在安卓系统中使用ip addr add命令添加IP地址时出现多个IP的情况属于正常现象,以下是具体分析和解决方案:

一、现象原因
‌命令特性‌
ip addr add是叠加式命令,每次执行都会在eth0接口上新增一个IP地址而非替换原有配置35。这与ifconfig命令的覆盖特性不同6。

‌持久化差异‌
通过该方式设置的IP地址不会自动清除,重启前会持续存在,可能导致多次执行后出现IP堆积

  1. 清除旧IP再添加新IP

ip addr flush dev eth0 # 清除eth0所有IP配置
ip addr add 192.168.1.130/24 dev eth0
ip link set eth0 up

不同设备接口名可能为eth1/usb0等,需通过ip link show确认

posted @ 2025-06-10 14:50  筑丹期码农  阅读(24)  评论(0)    收藏  举报