瑞芯微Rockchip开发者社区
直播中

偶是糕富帅

11年用户 788经验值
私信 关注
[问答]

如何去处理RK3288[Android7.1]手动设置内部配置IP无法进入系统的情况呢

如何去处理RK3288[Android7.1]手动设置内部配置IP无法进入系统的情况呢?

回帖(1)

王茁珐

2022-3-3 13:48:57
  平台:RK3288
  OS:Android
  7.83内核:v4.4.83
  现象:
  手动设置内部配置IP,保存后掉电引导,偶发无法进入系统的情况。
  日志:
  01-24 14:47:55.696 518 518 I EthernetServiceImpl:创建 EthernetConfigStore
  01-24 14:47:55.697 518 518 E IpConfigStore:IP 配置文件版本错误,忽略读取
  01-24 14:47:55.697 518 518 E 系统:************* *******************************
  01-24 14:47:55.698 518 518 E 系统:****** ****** 启动系统服务失败
  01-24 14:47:55.698 518 518 E 系统:java.lang.RuntimeException:无法创建服务 com.android.server.ethernet.EthernetService:服务构造函数抛出异常
  01-24 14:47:55.698 518 518 E 系统:在 com.android.server.SystemServiceManager.startService(SystemServiceManager.java:104)
  01-24 14:47:55.698 518 518 E 系统:在 com.android.server。 SystemServiceManager.startService(SystemServiceManager.java:67)
  01-24 14:47:55.698 518 518 E 系统:在 com.android.server.SystemServer.startOtherServices(SystemServer.java:880)
  01-24 14:47:55.698 518 518 E 系统:在 com.android.server.SystemServer.run(SystemServer.java:343)
  01-24 14:47:55.698 518 518 E 系统:在 com.android.server.SystemServer.main(SystemServer.java:225)
  01-24 14:47:55.698 518 518 E 系统:在 java.lang.reflect.Method.invoke(本机方法)
  01-24 14:47:55.698 518 518 E 系统:在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
  01-24 14:47:55.698 518 518 E 系统:在 com. android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
  01-24 14:47:55.698 518 518 E 系统:引起:java.lang.reflect.InvocationTargetException
  01-24 14:47:55.698 518 518 E系统:在 java.lang.reflect.Constructor.newInstance0(Native Method)
  01-24 14:47:55.698 518 518 E 系统:在 java.lang.reflect.Constructor.newInstance(Constructor.java:430)
  01-24 14 :47:55.698 518 518 E 系统: 在 com.android.server.SystemServiceManager.startService(SystemServiceManager.java:93)
  01-24 14:47:55.698 518 518 E 系统: 。.. 7 更多
  01-24 14:47:55.698 518 518 E 系统:原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“int android.util.SparseArray.size()”
  01-24 14:47 :55.698 518 518 E 系统:在 com.android.server.ethernet.EthernetConfigStore.readIpAndProxyConfigurations(EthernetConfigStore.java:44)
  01-24 14:47:55.698 518 518 E 系统:在 com.android.server.ethernet.EthernetServiceImpl。 《init》(EthernetServiceImpl.java:64)
  01-24 14:47:55.698 518 518 E 系统:在 com.android.server.ethernet.EthernetService.《init》(EthernetService.java:30)
  01-24 14:47 :55.698 518 518 E System : 。.. 10 more
  01-24 14:47:55.698 518 518 D AndroidRuntime: Shutting VM
  原因:
  不能启动是因为刷机导致服务启动异常而一直读取服务端的 ipconfig.txt 文件异常,导致系统卡住。
  而 ipconfig.txt 是因为系统没有完整的文件缓存引发的,掉电的时候文件到文件的内容丢失中。
  临时方案:
  kris@eco:~/rk3288/frameworks/base
  diff --git a/services/core/java/com/android/server/net/IpConfigStore.java b/services/core/java/com/an
  索引 a1f12f4..ebad5ff 100644
  --- a/services/core/java/com/android/server/net/IpConfigStore.java
  +++ b/services/core/java/com/android/server/net/IpConfigStore.java
  @@ -186,7 +186,8 @@ public class IpConfigStore {
  int version = in.readInt();
  if (version != 2 && version != 1) {
  loge(“IP 配置文件版本错误,忽略读取”);
  - 返回空值;
  + 返回网络;
  }
  这种方法临时解决系统无法解决的问题,但是ip的缓存还有更好的方法去解决。
  关于缓存需要
  
  
  参考:
  文件FAQ.pdf
举报

更多回帖

发帖
×
20
完善资料,
赚取积分