Android7.1开机默认关闭DHCP

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情


先来看看系统的进程的入口SystemServer ,main方法里通过SystemServiceManage启动EthernetService

  1. //frameworks/base/services/Java/com/Android/server/SystemServer.java
  2. public final class SystemServer {
  3. private static final String ETHERNET_SERVICE_CLASS =
  4. "com.android.server.ethernet.EthernetService";
  5. public static void main(String[] args) {
  6. new SystemServer().run();
  7. }
  8. private void run() {
  9. startOtherServices();
  10. }
  11. private void startOtherServices() {
  12. if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_ETHERNET)) {
  13. mSystemServiceManager.startService(ETHERNET_SERVICE_CLASS);
  14. }
  15. }

EthernetService 被启动之后就干了三件事儿: 
1.构造函数中创建EthernetServiceImpl 对象 
2.在onStart()方法 中将EthernetServiceImpl对象注册进了ServiceManager。 
3.当系统进入到 PHASE_SYSTEM_SERVICES_READY时状态时,EthernetService的onBootPhase()方法被触发,调用EthernetServiceImpl .Start();

  1. //frameworks/opt/net/ethernet/java/com/android/server/ethernet/EthernetService.java
  2. public final class EthernetService extends SystemService {
  3. private static final String TAG = "EthernetService";
  4. final EthernetServiceImpl mImpl;
  5. public EthernetService(Context context) {
  6. super(context);
  7. mImpl = new EthernetServiceImpl(context);
  8. }
  9. @Override
  10. public void onStart() {
  11. // 将ServiceImpl注册到ServiceManager
  12. Log.i(TAG, "Registering service " + Context.ETHERNET_SERVICE);
  13. publishBinderService(Context.ETHERNET_SERVICE, mImpl);
  14. }
  15. @Override
  16. public void onBootPhase(int phase) {
  17. //当系统运行到PHASE_SYSTEM_SERVICES_READY状态是时,Service启动EthernetServiceImpl
  18. if (phase == SystemService.PHASE_SYSTEM_SERVICES_READY) {
  19. mImpl.start();
  20. }
  21. }
  22. }

  •  IpConfiguration 这个类就是以太网配置信息类啊!!!!!!! 模式是DHCP啊还是静态啊,静态的ip ,网关啥的都存在这里头
  1. //frameworks/opt/net/ethernet/java/com/android/server/ethernet/EthernetConfigStore.java
  2. public class EthernetConfigStore extends IpConfigStore {
  3. private static final String ipConfigFile = Environment.getDataDirectory() +
  4. "/misc/ethernet/ipconfig.txt";
  5. public EthernetConfigStore() {
  6. }
  7. public IpConfiguration readIpAndProxyConfigurations() {
  8. SparseArray<IpConfiguration> networks = readIpAndProxyConfigurations(ipConfigFile);
  9. if (networks.size() == 0) {
  10. Log.w(TAG, "No Ethernet configuration found. Using default.");
  11. return new IpConfiguration(IpAssignment.DHCP, ProxySettings.NONE, null, null);
  12. }
  13. if (networks.size() > 1) {
  14. // Currently we only support a single Ethernet interface.
  15. Log.w(TAG, "Multiple Ethernet configurations detected. Only reading first one.");
  16. }
  17. return networks.valueAt(0);
  18. }

  • 可知,ipconfig存储在 “data/misc/ethernet/ipconfig.txt”中。那么解决方案也就来了

step 2配置以太网设置默认为静态ip

  • 1.手动配置好一份静态ip
  • 2.取出以太网配置文件: ipconfig.txt 
    进入命令行,输入 
    adb root 
    adb pull /data/misc/ethernet/ipconfig.txt 
    这里写图片描述
    因为是在桌面输入的命令行,所以复制出的ipconfig.txt 的位置在桌面

  • 3.device.mk文件中 将 ipconfig 预设置到固定位置 
    1)找到一份源码编译时一定会编译的device.mk 文件,在device.mk中添加 
    PRODUCT_COPY_FILES += $(LOCAL_PATH)/ipconfig.txt:system/etc/ipconfig.txt 
    2)将刚刚拷贝的ipconfig.txt 文件复制到与device.mk同目录下. 
    3)将上面提到的EthernetConfigStore 类中的ipConfigFile 修改为

    1. private static final String ipConfigFile = Environment.getRootDirectory() +
    2. "/etc/ipconfig.txt";
Android读ipconfig.txt配置文件乱码 android 查看/data/misc/ethernet/ipconfig.txt 文件乱码 阅读详情

相关推荐

Android 13 有线以太网静态ip保存逻辑梳理分析

这个类主要就是用来配置静态IP的,这个类之前也是在frameworks/base/core/java/android/net/路径下,12里面也移到了packages/modules/Connectivity/framework/src/android/net/下。,所以如果之前只在11上面适配过,那么对于12来说,适配还是需要花费一点功夫,具体的差异在之后的部分会记录,但是12与13的有线网络差异就较小了,并且看起来,13的以太网接口以及逻辑比12来说更为完善。源码环境:高通Android 13。

以后会多把工作中总结的知识、问题处理思路和方法通过博客分享出来,欢迎大家关注和共同探讨! 3029

ipconfig.txt

android系统 eth0 有线网络配置,/data/misc/ethernet/ipconfig.txt

无屏智能盒子开发实战:用MT8766 Android12源码修改WiFi热点默认配置(SSID/密码/IP)

本文详细介绍了基于MT8766平台Android12系统的无屏智能盒子WiFi热点开发实战,包括从源码修改默认SSID/密码、固定IP地址分配以及实现开机自启热点功能。通过深入分析AOSP源码架构,提供完整的开发环境配置、参数定制方案及量产部署建议,帮助开发者快速实现稳定的WiFi热点功能,适用于智能家居物联网设备开发。

dianshu1593的博客 1403

ipconfig命令详解.txt

1.具体功能p 该命令用于显示所有当前的TCP/IP网络配置值、刷新动态主机配置协议(DHCP)域名系统(DNS)设置。使用不带参数的IPCONFIG可以显示所有适配器的IP地址、子网掩码、默认网关。p 2.语法详解p ipconfigp[/all]p[/renewp[adapter]p[/releasep[adapter]p[/flushdns]p[/displaydns]p[/registerdns]p[/showclassidpadapter]p[/setclassidpadapterp[classID]p 3.参数说明p /allp显示所有适配器的完整TCP/IP配置信息。在没有该参数的情况下IPCONFIG只显示IP地址、子网掩码各个适配器的默认网关值。适配器可以代表物理接口(例如安装的网络适配器)或逻辑接口(例如拨号连接)。p /renewp[adapter]p更新所有适配器(如果未指定适配器),或特定适配器(如果包含了adapter参数)的DHCP配置。该参数仅在具有配置为自动获取IP地址的网卡的计算机上可用。要指定适配器名称,请键入使用不带参数的IPCONFIG命

Android7.1开机默认静态ip调试

先来看看系统的进程的入口SystemServer ,main方法里通过SystemServiceManage启动EthernetService//frameworks/base/services/Java/com/Android/server/SystemServer.java public final class SystemServer { private stati...

lemon15071230867的博客 6237

Android 下禁掉DHCP服务的方法

最近在做网络方面的程序,在Android4.0.4中,系统默认DHCP服务是开启的,要怎么把它禁掉了,因为我用的是eth0,插上网线以后要自己设置IP, 自己设置的IPDHCP出的IPMAC地址肯定是一样的,都能连上网,但是还是有很多问题,最后就想到把DHCP禁掉。方法如下: 1、在你的data/misc/dhcp/目录下,你会发现有二个后缀为.lease.dip的文件,这二个文件是启动...

v5browser 1813

新疆电信高安版TY1612-S905L3SB-WiFi8822CS-2+8G-安卓9-线刷固件包

新疆电信高安版TY1612固件发布,适配S905L3SB芯片,支持8822CS WiFi模块,可自由安装第三方应用,播放流畅。需注意有线网络需手动设置DHCP连接。提供两种晶晨线刷工具(v2.2.5/v2.2.7)及详细刷机教程,建议使用免拆短接神器操作。

点我主页,可查看所有固件文章! 1031

保姆级教程:用Amlogic烧录工具v2.2.7给创维盒子刷安卓9纯净系统

本文提供创维E900V22D电视盒子刷安卓9.0纯净系统的详细教程,涵盖驱动安装、Amlogic烧录工具v2.2.7使用、线刷固件包导入及系统优化全流程。通过晶晨S905L3SB芯片的硬件优势,帮助用户彻底摆脱运营商定制系统限制,提升使用体验。

weixin_30522095的博客 847

无屏Android盒子救星:三步搞定MT8766默认热点与固定IP,实现稳定ADB投屏

想象一下,当你拿到一台基于MT8766芯片的Android 12智能盒子,没有显示接口,没有触摸屏,传统的调试方式完全失效——这正是我们需要解决的典型场景。本文将带你深入系统底层,通过修改Android源码实现三个关键目标:开机自动开启Wi-Fi热点、固定热点名称密码、分配静态IP地址,从而建立稳定的ADB调试通道。传统解决方案如串口调试需要拆机操作,而我们的方法通过软件层面改造,实现了非侵入式的无线调试方案。原始实现会为每个设备生成随机的SSID后缀密码,这正是我们需要修改的部分。

dianshu1593的博客 413

天邑TY1608刷机后性能优化:解锁安卓9.0隐藏功能与存储空间清理技巧

本文针对已成功通过U盘卡刷方式刷入第三方固件的天邑TY1608电视盒子,提供深度性能优化指南。重点讲解如何利用安卓9.0开发者选项管理后台进程、优化网络DNS设置以提升流畅度,并详细介绍了深度清理存储空间、解锁儿童锁及HDMI CEC联动等高级功能的实用技巧,旨在充分挖掘国科GK6323V100C芯片潜力,让设备物尽其用。

weixin_28396629的博客 668

创维E900V20D刷机后必做的5个设置:关闭DNS保护、调网络,让新系统更流畅

本文详细介绍了创维E900V20D刷机后必做的5个优化设置,包括网络配置优化、关闭DNS保护、系统性能调优等,帮助用户充分发挥国科GK6323V100C芯片潜力,提升安卓9.0系统的流畅度稳定性。特别推荐使用U盘卡刷后的用户按照这些步骤进行设置,以获得最佳使用体验。

weixin_30861797的博客 408

Android无线调试终极指南:告别数据线,提升开发效率

在移动应用开发中,调试是保障应用质量的关键环节。传统有线调试依赖USB连接,常因数据线接触不良、端口占用或物理距离限制而中断工作流,影响开发效率。其原理是通过ADB(Android Debug Bridge)在设备与电脑间建立通信通道。为解决这一痛点,Android平台支持基于TCP/IP协议的无线调试模式,通过WiFi网络实现设备与开发机的连接,从而摆脱物理线缆束缚。这项技术不仅简化了连接流程,更在多设备联调、不同握持姿势测试等复杂场景中展现出巨大价值,尤其适合需要频繁切换设备或进行远距离调试的工程实践。

weixin_33845881的博客 489

晶晨S905L3-S905L3B-S905L3S-S905L3SB芯片_安卓9.0_通用_线刷固件包

摘要:晶晨S905L3/S905L3B/S905L3S/S905L3SB芯片通用安卓9.0线刷固件包,支持CM211-1、E900V21F等十多种型号。需使用Amlogic USB Burning Tool工具(v2.2.5或v2.2.7)进行线刷,建议配备双公头USB线免拆短接神器。固件特性包括全开放系统、默认DHCP网络连接及多款无线蓝牙芯片支持。

点我主页,可查看所有固件文章! 2607

晶晨S905L3S/S905L3SB芯片刷机实战:10分钟搞定安卓9.0系统升级

本文详细介绍了晶晨S905L3S/S905L3SB芯片设备的安卓9.0系统升级全流程,包括工具准备、线刷固件包选择、两种主流刷机方法及优化设置。通过专业步骤解析常见问题解决方案,帮助用户10分钟内完成系统升级,提升设备性能兼容性。

d6e7f8的博客 1003

安卓电视网络ADB远程调试:从原理到实战的完整指南

ADB(Android Debug Bridge)是安卓生态中用于设备与计算机通信的核心调试工具,它基于客户端-服务器架构,通过命令行接口实现对设备的深度控制。其技术价值在于为开发者提供了系统级的调试、安装、日志抓取文件管理能力,极大地提升了开发与测试效率。在智能电视、机顶盒等大屏设备的应用场景中,传统的USB有线连接方式因设备位置固定、接口不便而受限,网络ADB调试应运而生。它允许设备通过Wi-Fi或局域网监听特定端口(如5555),实现无线化的远程连接与控制。本文聚焦于**安卓电视**这一具体场景,详

weixin_34074740的博客 449

利用Termux与Transmission将旧安卓手机改造为低功耗PT下载机

BitTorrent协议作为点对点文件共享的核心技术,其客户端通过分布式网络实现高效的数据传输。Transmission作为一款轻量级、开源的BitTorrent客户端,以其极低的资源占用稳定的协议支持,成为在资源受限设备上长期运行的理想选择。其技术价值在于能够将闲置的计算资源(如旧手机)转化为可用的网络节点,实现低功耗、静音的24小时不间断下载与做种。在私有种子站(PT)的应用场景中,稳定的客户端对于维持分享率至关重要。本文通过Termux这一Android上的完整Linux环境,详细演示了如何部署

weixin_30824599的博客 367

ADB实战指南:安卓设备深度控制与系统级维护

ADB(Android Debug Bridge)是安卓系统底层通信的核心协议,基于Linux内核机制实现主机与设备间的命令行交互。其原理是通过adbd守护进程建立TCP连接,绕过GUI权限限制,直接操作SQLite设置库、包管理器(pm)系统属性(settings)。技术价值在于赋予用户对设备的‘物理级主权’——无需Root即可禁用预装应用、诊断卡顿发热、修复网络异常。典型应用场景包括二手安卓设备净化、企业平板批量运维、直播/电商场景下的自动化调试。本文聚焦非开发者的高实用性ADB命令链与避坑逻辑,覆盖

weixin_30394981的博客 422

Windows 10下Frida环境搭建与安卓应用动态分析实战指南

动态代码插桩技术是现代移动安全与逆向工程的核心手段,它允许开发者在应用运行时注入并执行自定义代码,实现对函数调用、数据流程序逻辑的实时监控与修改。其原理是通过在目标进程内存中注入代理,拦截并重定向指定的函数执行路径。这项技术的核心价值在于弥补了静态分析的不足,能够直观揭示运行时行为,广泛应用于应用安全审计、漏洞挖掘、协议分析恶意软件检测等领域。在安卓平台,Frida作为主流动态插桩框架,通过客户端-服务器架构实现高效Hook。本文聚焦于Windows 10平台,详细解析如何配置Python环境、部署Fr

weixin_34032621的博客 405

Win7/Win10/安卓/iPad全打通:一次设置,永久解决家庭局域网文件共享难题

本文提供跨平台家庭局域网文件共享的终极解决方案,涵盖Win7/Win10/安卓/iPad等设备,解决系统兼容性长期维护问题。通过统一工作组设置、静态IP分配移动设备接入优化,实现零成本、全自动的文件共享系统,确保家庭局域网内的高效协作。

weixin_28713947的博客 426
上一篇: Android framework自定义待机广播(可静态注册)
下一篇: Android 7.1以太网/有线网Ethernet功能开发
April小姐姐
博客等级 码龄12年 4粉丝 4原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值