前言在Rockchip平台的Android 15开发中,许多开发者会遇到一个棘手的问题:通过Settings界面为以太网设置静态IP后,设备重启或网络重连后,之前配置的静态IP地址会丢失,系统恢复为DHCP自动获取模式。问题根源:Android版本演进带来的路径变更Google在Android的发展过程中,对以太网配置的管理方式进行了调整。Android引入APEX模块化系统后,以太网配置的默认存储路径发生了变更。具体来说,问题出在EthernetConfigStore.java这个核心类中。它负责以太网IP配置的读取和写入操作。在较新的Android版本(包括Android 15)中,代码会尝试从APEX路径读取和写入配置,而Rockchip平台可能仍期望使用旧的Legacy路径。当使用APEX路径时,写入操作可能没有正确执行,或者重启后读取操作找不到之前写入的配置文件,导致系统恢复默认的DHCP模式。修改方案:强制指定Legacy存储路径解决这个问题的核心思路是:将EthernetConfigStore.java中的文件操作路径从APEX路径强制指定为Legacy路径。修改的文件位于:packages/modules/Connectivity/service-t/src/com/android/server/ethernet/EthernetConfigStore.java
RK Android15 以太网静态IP重启丢失的解决方案
前言在Rockchip平台的Android 15开发中,许多开发者会遇到一个棘手的问题:通过Settings界面为以太网设置静态IP后,设备重启或网络重连后,之前配置的静态IP地址会丢失,系统恢复为DHCP自动获取模式。问题根源:Android版本演进带来的路径变更Google在Android的发展过程中,对以太网配置的管理方式进行了调整。Android引入APEX模块化系统后,以太网配置的默认存储路径发生了变更。具体来说,问题出在EthernetConfigStore.java这个核心类中。它负责以太网IP配置的读取和写入操作。在较新的Android版本(包括Android 15)中,代码会尝试从APEX路径读取和写入配置,而Rockchip平台可能仍期望使用旧的Legacy路径。当使用APEX路径时,写入操作可能没有正确执行,或者重启后读取操作找不到之前写入的配置文件,导致系统恢复默认的DHCP模式。修改方案:强制指定Legacy存储路径解决这个问题的核心思路是:将EthernetConfigStore.java中的文件操作路径从APEX路径强制指定为Legacy路径。修改的文件位于:packages/modules/Connectivity/service-t/src/com/android/server/ethernet/EthernetConfigStore.java