平台: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
平台: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
举报