代码路径:
device/sprd/sharkl3/uis8581a2h10/system.prop
frameworks/opt/net/ethernet/java/com/android/server/ethernet/EthernetServiceImpl.java
在system.prop文件中添加一个属性控制是否配置静态IP

diff --git a/system.prop b/system.prop
index fce9347..e8e5f81 100755
--- a/system.prop
+++ b/system.prop
@@ -62,3 +62,4 @@ ro.rk.displayd.enable=falsero.boot.wificountrycode=CN#persist.sys.resolution.aux=1920x1080p60persist.sys.framebuffer.main=1920x1080
+persist.sys.static.enable=1

在EthernetServiceImpl.java文件中EthernetServiceImpl构造函数中默认配置IP

diff --git a/java/com/android/server/ethernet/EthernetServiceImpl.java b/java/com/android/server/ethernet/EthernetServiceImpl.java
index bd91e76..aa391fa 100755
--- a/java/com/android/server/ethernet/EthernetServiceImpl.java
+++ b/java/com/android/server/ethernet/EthernetServiceImpl.java
@@ -23,11 +23,17 @@ import android.net.IEthernetServiceListener;import android.net.IpConfiguration;import android.net.IpConfiguration.IpAssignment;import android.net.IpConfiguration.ProxySettings;
+import java.net.InetAddress;
+import java.net.Inet4Address;
+import android.net.LinkAddress;
+import android.net.NetworkUtils;
+import android.net.StaticIpConfiguration;import android.os.Binder;import android.os.Handler;import android.os.HandlerThread;import android.os.RemoteCallbackList;import android.os.RemoteException;
+import android.os.SystemProperties;import android.provider.Settings;import android.util.Log;import android.util.PrintWriterPrinter;
@@ -50,6 +56,7 @@ public class EthernetServiceImpl extends IEthernetManager.Stub {private final Context mContext;private final EthernetConfigStore mEthernetConfigStore;
+  private final StaticIpConfiguration mStaticIpConfiguration;private final AtomicBoolean mStarted = new AtomicBoolean(false);private IpConfiguration mIpConfiguration;@@ -62,7 +69,29 @@ public class EthernetServiceImpl extends IEthernetManager.Stub {mContext = context;Log.i(TAG, "Creating EthernetConfigStore");mEthernetConfigStore = new EthernetConfigStore();
-        mIpConfiguration = mEthernetConfigStore.readIpAndProxyConfigurations();
+        mStaticIpConfiguration = new StaticIpConfiguration();
+        if (SystemProperties.get("persist.sys.static.enable","1").equals("1")){                             //静态控制
+                String mIpAddress = "10.10.10.88";
+                int mNetmask = 24;
+                String mGateway = "10.10.10.1";
+                String mDns1 = "10.10.10.1";
+                String mDns2 = "8.8.8.8";
+
+                Inet4Address inetAddr = getIPv4Address(mIpAddress);
+                int prefixLength = mNetmask;
+                InetAddress gatewayAddr =getIPv4Address(mGateway);
+                InetAddress dnsAddr = getIPv4Address(mDns1);
+
+                mStaticIpConfiguration.ipAddress = new LinkAddress(inetAddr, prefixLength);
+                mStaticIpConfiguration.gateway=gatewayAddr;
+                mStaticIpConfiguration.dnsServers.add(dnsAddr);
+                mStaticIpConfiguration.dnsServers.add(getIPv4Address(mDns2));
+                mIpConfiguration = new IpConfiguration(IpAssignment.STATIC, ProxySettings.NONE,mStaticIpConfiguration,null);
+                mEthernetConfigStore.writeIpAndProxyConfigurations(mIpConfiguration);
+                //SystemProperties.set("persist.sys.static.enable","0");                                         //首次开机用静态,若要写死每次开机都是静态,可以将此句屏蔽掉
+        } else {
+                mIpConfiguration = mEthernetConfigStore.readIpAndProxyConfigurations();
+        }Log.i(TAG, "Read stored IP configuration: " + mIpConfiguration);@@ -271,4 +300,12 @@ public class EthernetServiceImpl extends IEthernetManager.Stub {mHandler.dump(new PrintWriterPrinter(pw), "EthernetServiceImpl");pw.decreaseIndent();}
+
+  private Inet4Address getIPv4Address(String text) {
+        try {
+                return (Inet4Address) NetworkUtils.numericToInetAddress(text);
+        } catch (IllegalArgumentException|ClassCastException e) {
+                return null;
+        }
+   }}

Android 10 默认配置以太网静态IP相关推荐

  1. Android10.0(Q) MTK平台增加以太网静态IP功能

    前言 朋友们,网卡功能真的是太太太太常用了,这次我又带着 10.0 的以太网静态IP功能来了,相比 9.0 而言, framework 没啥大变化,可以直接对比移植.Settings 部分也没啥大变化 ...

  2. Android P 9.0 MTK平台 增加以太网静态IP功能

    前言 朋友们,最近又开始搞 Android P了,同样的以太网静态 IP 是少不了的功能,今天我们就开始来整一下.之前弄6.0 和 8.1 的都 ok 了. 没想到 9.0 改动还是略微有点大的.来来 ...

  3. Hadoop入门(二)——VMware虚拟网络设置+Windows10的IP地址配置+CentOS7静态IP设置(图文详解步骤2021)

    Hadoop入门(二)--VMware虚拟网络设置+Windows10的IP地址配置+CentOS7静态IP设置(图文详解步骤2021) 之前在上一篇文章中讲述了 CentOS7下载+VM上安装(手动 ...

  4. android 设置静态ip,Android下用代码设置静态IP地址的方法(完美支持Android2.X,Android3.X,Android4.X)...

    有一个项目,要控制设备wifi连接,而且要使用静态ip,上网查找了下,基本都是Android2.X下面的方法,即使用Settings进行设置,但是这种设置方法对于Android3.X以上设备是无效的, ...

  5. 【转】android:APP设置以太网静态IP_简要步骤

    以下转载内容亲自测试示例代码有效.提几个注意事项: 使用AS版本( Android Studio 4.1.2) 新建一个helloword工程,然后将实例中的代码拷贝到工程.然后将framework. ...

  6. Centos7 网卡配置及静态IP配置

    最近过年闲着没事干,打算补充一波k8s的文章,但本地只有ubuntu18.04而没有centos7(因为一般来说服务器部署都是在Centos7上进行),所以我就在我的VMware上安装了一个最小化的C ...

  7. Ubuntu server16.04配置网卡静态IP

    Ubuntu server16.04配置网卡静态IP 1.查询网络接口的名字 2.配置DHCP模式 命令行获取IP地址 3.配置固定IP模式 4.刷新ip 5.重启系统 未找到合法的活动连接!--连接 ...

  8. 配置windows静态IP

    配置windows静态IP 先查找一下目前的子网掩码和默认网关 windows+r,cmd ,ipconfig回车 记住子网掩码与默认网关 打开网络和共享中心(在电脑的右下角) 选择更改适配器设置 选 ...

  9. Ubuntu18.04的网络配置(静态IP和动态IP) - OpsDrip - 博客园

    Ubuntu18.04的网络配置(静态IP和动态IP) - OpsDrip - 博客园

最新文章

  1. 今晚8点直播 | 双11的背后除了阿里还有顺丰,智慧物流是如何利用深度学习赋能的?...
  2. html完成横纵坐标位置确定,2018-2019学年安徽省合肥市七年级下期中数学试卷-附详细答案...
  3. python获取系统时间月份_python 取数组绝对值python获取当前日期
  4. 2007年9月c语言真题及答案,2007年9月二级C语言笔试真题和答案(已再修改).doc
  5. C++利用访函数进行选择排序
  6. Ubuntu 10.04 lucid 安装 MariaDB 5.5
  7. 【Lucene4.8教程之中的一个】使用Lucene4.8进行索引及搜索的基本操作
  8. C | 看看 C 能做什么
  9. ERROR: Invalid requirement: ‘_libgcc_mutex=0.1=main‘ XXX Hint: = is not a valid operator. Did you me
  10. 书店计算机管理制度范文,书店管理制度
  11. jquery实现html表格隔行变色
  12. 搭建私有云盘 cloudreve
  13. Mac 阻止搜狗输入法偷偷更新
  14. usaco Name That Number
  15. MATLAB 内积外积混合积
  16. 如何用c语言编辑定时关机程序有说明的,C语言编写的定时关机程序
  17. 关于心理的二十五种倾向(查理·芒格)-3
  18. java计算机毕业设计计算机专业招聘网站MyBatis+系统+LW文档+源码+调试部署
  19. nvme固态硬盘开机慢_别让谣言害了你!关于固态硬盘的谣言以及使用误区 NVMe固态硬盘卡慢怎么办 NVMe固态硬盘卡慢解决方法【详解】-宝商在线...
  20. 为什么单线程的Redis能这么快?

热门文章

  1. 矩阵乘法(超详细!!!)
  2. ap计算机科学换学分,AP数学成绩可以换学分吗?
  3. 京东国际销售数据查询(京东国际行业/品牌数据分析)
  4. 苹果icloud登录_苹果手机怎样找回删除的备忘录,电脑小白数据恢复全攻略!
  5. 树莓派开发——新手上路篇(1)
  6. 螳螂网校用户注册及使用APP隐私协议
  7. HTML_页面中的超级链接
  8. 女子自称教师逼小学生让座 将其书包扔出窗外
  9. 陌陌、探探“珠联璧合”,Soul们还有生存空间吗?
  10. java so reuseport_强大的SO_REUSEPORT