1

经过几个月的工作,我工作的公司的一些Android平板设备(root)在启动动画后随机出现“白屏”。此外,他们中的一些人在建立在白屏上之前会重新启动几次。

对于那些正在重新启动的设备,我可以在 logcat 上看到它在以下异常中停止:

D/NetlinkEvent(  167): NL subsys is 'block'
D/NetlinkEvent(  167): NL param 'DEVPATH=/devices/sprd-sdhci.3/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p21'
D/NetlinkEvent(  167): NL param 'MAJOR=179'
D/NetlinkEvent(  167): NL param 'MINOR=21'
D/NetlinkEvent(  167): NL param 'DEVNAME=mmcblk0p21'
D/NetlinkEvent(  167): NL param 'DEVTYPE=partition'
D/NetlinkEvent(  167): NL param 'PARTN=21'
D/NetlinkEvent(  167): NL param 'PARTNAME=userdata'
I/DirectVolume(  167): ++ok_vold----in_handleBolckEvent() in_if*it:/devices/sprd-sdhci.3/mmc_host/mmc0-----
E/DirectVolume(  167): making device node '/dev/block/vold/179:21'
W/DirectVolume(  167): Ignore partition userdata
D/WCND    (  171): is_cp2_alive_ok: open polling interface: /dev/spipe_wcn0, fd = 12
D/WCND    (  171): is_cp2_alive_ok: loop: /dev/spipe_wcn0 is OK
I/Zygote  (  178): ...preloaded 1463 classes in 2501ms.
D/libEGL  (  178): loaded /system/lib/egl/libGLES_mali.so
I/Zygote  (  178): ZytoteInit preload finish
D/dalvikvm(  178): GC_EXPLICIT freed 467K, 16% free 2665K/3136K, paused 2ms+2ms, total 19ms
D/dalvikvm(  178): GC_EXPLICIT freed 4K, 16% free 2660K/3136K, paused 1ms+1ms, total 16ms
D/dalvikvm(  178): GC_EXPLICIT freed <1K, 16% free 2660K/3136K, paused 1ms+1ms, total 16ms
I/dalvikvm(  178): System server process 647 has been created
I/Zygote  (  178): Accepting command socket connections
D/SensorService(  647): nuSensorService starting...
I/SystemServer(  647): Entered the Android system server!
D/Sensors (  647): AnumSensors=1; 1
E/IAtChannel(  180): Couldn't get connection to atchannel0
D/audio_hw_primary(  180): do_cmd_dual Switch incall AT command [AT+VGR=6][ERROR]
E/audio_hw_primary(  180): do_voice_command: X
I/audio_hw_primary(  180):  voice_command_thread_entry looping done.
I/audio_hw_primary(  180):  voice_command_thread_entry looping now...
D/SDCARD  (  188): missing packages.list; retrying
D/SDCARD  (  191): missing packages.list; retrying
D/Sensors (  647): PnumSensors=2; 2
D/Sensors (  647): activate handle=0; drv=0
D/Sensors (  647): activate handle=4; drv=1
D/Sensors (  647): PlsSensor::enable en=0; newState=0; what=0; mEnabled=0
I/SensorService(  647): STK8312 3-axis Accelerometer
I/SensorService(  647): AL3006 Proximity sensor
D/SensorService(  647): Max socket buffer size 163840
D/SensorService(  647): nuSensorService thread starting...
I/installd(  181): new connection
I/SystemServer(  647): Waiting for installd to be ready.
I/Installer(  647): connecting...
I/SystemServer(  647): Power Manager
D/PowerManagerService(  647): Acquiring suspend blocker "PowerManagerService.Display".
I/SystemServer(  647): Activity Manager
W/dalvikvm(  647): threadid=14: thread exiting with uncaught exception (group=0x415e5bc0)
I/Process (  647): Sending signal. PID: 647 SIG: 9
E/installd(  181): eof
E/installd(  181): failed to read size
I/installd(  181): closing connection
I/Zygote  (  178): Exit zygote because system server (647) has terminated
E/AndroidRuntime(  647): *** FATAL EXCEPTION IN SYSTEM PROCESS: ActivityManager
E/AndroidRuntime(  647): android.content.res.Resources$NotFoundException: Resource ID #0x10e0009
E/AndroidRuntime(  647):        at android.content.res.Resources.getValue(Resources.java:1139)
E/AndroidRuntime(  647):        at android.content.res.SPRDResources.getValue(SPRDResources.java:182)
E/AndroidRuntime(  647):        at android.content.res.Resources.getInteger(Resources.java:923)
E/AndroidRuntime(  647):        at com.android.server.am.ProcessList.updateOomLevels(ProcessList.java:245)
E/AndroidRuntime(  647):        at com.android.server.am.ProcessList.<init>(ProcessList.java:179)
E/AndroidRuntime(  647):        at com.android.server.am.ActivityManagerService.<init>(ActivityManagerService.java:485)
E/AndroidRuntime(  647):        at com.android.server.am.ActivityManagerServiceEx.<init>(ActivityManagerServiceEx.java:48)
E/AndroidRuntime(  647):        at com.android.server.am.ActivityManagerService$AThread.run(ActivityManagerService.java:1955)
E/AndroidRuntime(  647): Error reporting crash
E/AndroidRuntime(  647): java.lang.NullPointerException
E/AndroidRuntime(  647):        at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:92)
E/AndroidRuntime(  647):        at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
E/AndroidRuntime(  647):        at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
I/ServiceManager(  166): service 'power' died
I/ServiceManager(  166): service 'sensorservice' died
D/SDCARD  (  188): missing packages.list; retrying
D/SDCARD  (  191): missing packages.list; retrying
D/WCND    (  171): is_cp2_alive_ok: open polling interface: /dev/spipe_wcn0, fd = 12
D/WCND    (  171): is_cp2_alive_ok: loop: /dev/spipe_wcn0 is OK
D/SDCARD  (  188): missing packages.list; retrying
D/SDCARD  (  191): missing packages.list; retrying
D/SDCARD  (  188): missing packages.list; retrying
D/SDCARD  (  191): missing packages.list; retrying
D/WCND    (  171): is_cp2_alive_ok: open polling interface: /dev/spipe_wcn0, fd = 12
D/WCND    (  171): is_cp2_alive_ok: loop: /dev/spipe_wcn0 is OK
D/SDCARD  (  188): missing packages.list; retrying
D/SDCARD  (  191): missing packages.list; retrying
D/WCND    (  171): is_cp2_alive_ok: open polling interface: /dev/spipe_wcn0, fd = 12
D/WCND    (  171): is_cp2_alive_ok: loop: /dev/spipe_wcn0 is OK
D/SDCARD  (  188): missing packages.list; retrying
D/SDCARD  (  191): missing packages.list; retrying
PS C:\adb>

对于那些在“白屏”上工作的人,我可以看到主要的 GUI 正在白屏的背面运行。我可以通过截屏并在我的电脑上打开它来确认这一点。此外,触摸屏正在工作,我可以通过 GUI 的按钮选择一些功能。当我拍摄另一个屏幕截图时,也会检查这一点。

为什么 ActivityManager 有时会显示致命异常?为什么,当系统启动时,我只能看到一个没有任何彩色像素的空白屏幕?

提前致谢。

4

1 回答 1

1

对于那些有趣的人,当我在设备上重新加载 Android ROM 时,这个问题得到了解决。我们怀疑,由于该设备直接工作了 3 年以上,并且在内部 MMC 内存中保存了大量日志,我们达到了内存周期写入限制,并且系统已损坏。因此,在重新加载 ROM 后,设备再次开始正常工作。也许我们会用这个 MMC 来替代这些设备,为这些设备提供更多的“生命”。

于 2020-10-31T12:18:42.707 回答