Эмулятор не загружается 2.2, но загружается 2.3 - PullRequest
2 голосов
/ 27 февраля 2011

В системе Windows XP с использованием Eclipse 3.5, JDK 1.6.24 и Android R10 SDK.

Как и многие другие, я не могу заставить эмулятор загрузить домашнюю страницу, но это происходит только для образа 2.2. Я могу полностью загрузить и запустить эмулятор с 2.3. Я пытался ждать в течение длительного периода времени (я думаю, что 2 часа более чем достаточно), убить и перезапустить сервер ADB и т. Д.

Эмулятор застрял в цикле перезагрузки, вызванном тем, что поток сервера выдал сигнал SIGSTKFLT. Это сигнал, который на самом деле не используется в текущих версиях Linux, но иногда выдается приложениями, чтобы сигнализировать об ошибке приложения. К сожалению, нет конкретного сообщения об ошибке (по крайней мере, я могу найти), чтобы указать, почему сигнал выбрасывается. Соответствующая часть logcat:

I/dalvikvm(   54): "android.server.ServerThread" prio=5 tid=7 RUNNABLE
I/dalvikvm(   54):   | group="main" sCount=0 dsCount=0 s=N obj=0x43e31da0 self=0x11c9a8
I/dalvikvm(   54):   | sysTid=69 nice=-2 sched=0/0 cgrp=default handle=1139800
I/dalvikvm(   54):   | schedstat=( 62983168741 24276655402 1105 )
I/dalvikvm(   54):   at java.lang.String.<init>(String.java:~468)
I/dalvikvm(   54):   at java.util.jar.InitManifest.readValue(InitManifest.java:205)
I/dalvikvm(   54):   at java.util.jar.InitManifest.readHeader(InitManifest.java:117)
I/dalvikvm(   54):   at java.util.jar.InitManifest.initEntries(InitManifest.java:75)
I/dalvikvm(   54):   at java.util.jar.JarVerifier.verifyCertificate(JarVerifier.java:329)
I/dalvikvm(   54):   at java.util.jar.JarVerifier.readCertificates(JarVerifier.java:272)
I/dalvikvm(   54):   at java.util.jar.JarFile.getInputStream(JarFile.java:392)
I/dalvikvm(   54):   at android.content.pm.PackageParser.loadCertificates(PackageParser.java:337)
I/dalvikvm(   54):   at android.content.pm.PackageParser.collectCertificates(PackageParser.java:480)
I/dalvikvm(   54):   at com.android.server.PackageManagerService.collectCertificatesLI(PackageManagerService.java:2535)
I/dalvikvm(   54):   at com.android.server.PackageManagerService.scanPackageLI(PackageManagerService.java:2621)
I/dalvikvm(   54):   at com.android.server.PackageManagerService.scanDirLI(PackageManagerService.java:2479)
I/dalvikvm(   54):   at com.android.server.PackageManagerService.<init>(PackageManagerService.java:920)
I/dalvikvm(   54):   at com.android.server.PackageManagerService.main(PackageManagerService.java:681)
I/dalvikvm(   54):   at com.android.server.ServerThread.run(SystemServer.java:122)
I/dalvikvm(   54): 
I/dalvikvm(   54): "Binder Thread #2" prio=5 tid=6 NATIVE
I/dalvikvm(   54):   | group="main" sCount=1 dsCount=0 s=N obj=0x43e31a50 self=0x12fc60
I/dalvikvm(   54):   | sysTid=60 nice=0 sched=0/0 cgrp=default handle=1294704
I/dalvikvm(   54):   | schedstat=( 1000041725 990947204 173 )
I/dalvikvm(   54):   at dalvik.system.NativeStart.run(Native Method)
I/dalvikvm(   54): 
I/dalvikvm(   54): "Binder Thread #1" prio=5 tid=5 NATIVE
I/dalvikvm(   54):   | group="main" sCount=1 dsCount=0 s=N obj=0x43e2f3b8 self=0x11ce48
I/dalvikvm(   54):   | sysTid=59 nice=0 sched=0/0 cgrp=default handle=1165432
I/dalvikvm(   54):   | schedstat=( 991350956 356395337 175 )
I/dalvikvm(   54):   at dalvik.system.NativeStart.run(Native Method)
I/dalvikvm(   54): 
I/dalvikvm(   54): "JDWP" daemon prio=5 tid=4 VMWAIT
I/dalvikvm(   54):   | group="system" sCount=1 dsCount=0 s=N obj=0x43e2e2a0 self=0x11c5e0
I/dalvikvm(   54):   | sysTid=58 nice=0 sched=0/0 cgrp=default handle=1146120
I/dalvikvm(   54):   | schedstat=( 9625246 195868748 7 )
I/dalvikvm(   54):   at dalvik.system.NativeStart.run(Native Method)
I/dalvikvm(   54): 
I/dalvikvm(   54): "Signal Catcher" daemon prio=5 tid=3 VMWAIT
I/dalvikvm(   54):   | group="system" sCount=1 dsCount=0 s=N obj=0x43e2e1e8 self=0x117b18
I/dalvikvm(   54):   | sysTid=57 nice=0 sched=0/0 cgrp=default handle=1145544
I/dalvikvm(   54):   | schedstat=( 4465371 1466668 2 )
I/dalvikvm(   54):   at dalvik.system.NativeStart.run(Native Method)
I/dalvikvm(   54): 
I/dalvikvm(   54): "HeapWorker" daemon prio=5 tid=2 VMWAIT
I/dalvikvm(   54):   | group="system" sCount=1 dsCount=0 s=N obj=0x4306e1e8 self=0x1178d8
I/dalvikvm(   54):   | sysTid=55 nice=0 sched=0/0 cgrp=default handle=1232848
I/dalvikvm(   54):   | schedstat=( 3618171309 20811992594 393 )
I/dalvikvm(   54):   at com.android.internal.os.BinderInternal$GcWatcher.finalize(BinderInternal.java:~48)
I/dalvikvm(   54):   at dalvik.system.NativeStart.run(Native Method)
I/dalvikvm(   54): 
D/dalvikvm(   54): threadid=7: sending two SIGSTKFLTs to threadid=2 (tid=55) to cause debuggerd dump
W/SharedBufferStack(   68): waitForCondition(DequeueCondition) timed out (identity=0, status=0). CPU may be pegged. trying again.
I/DEBUG   (   31): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
D/dalvikvm(   54): Sent, pausing to let debuggerd run
I/DEBUG   (   31): Build fingerprint: 'generic/sdk/generic/:2.2/FRF91/43546:eng/test-keys'
I/DEBUG   (   31): pid: 54, tid: 55  >>> system_server <<<
I/DEBUG   (   31): signal 16 (SIGSTKFLT), fault addr 00000036
I/DEBUG   (   31):  r0 fffffe00  r1 00000080  r2 00000002  r3 00000000
I/DEBUG   (   31):  r4 80888fe8  r5 00000002  r6 00000000  r7 000000f0
I/DEBUG   (   31):  r8 00000001  r9 400091e8  10 80888c90  fp 001361b8
I/DEBUG   (   31):  ip 80888098  sp 100ffcd8  lr afd10530  pc afd0eb08  cpsr 80000010
I/DEBUG   (   31):          #00  pc 0000eb08  /system/lib/libc.so
I/DEBUG   (   31):          #01  pc 0001052c  /system/lib/libc.so
I/DEBUG   (   31):          #02  pc 0001b77c  /system/lib/libdvm.so
I/DEBUG   (   31):          #03  pc 0001bc20  /system/lib/libdvm.so
I/DEBUG   (   31):          #04  pc 00048ece  /system/lib/libdvm.so
I/DEBUG   (   31):          #05  pc 000143ac  /system/lib/libdvm.so
I/DEBUG   (   31):          #06  pc 0001e8c4  /system/lib/libdvm.so
I/DEBUG   (   31):          #07  pc 0001d790  /system/lib/libdvm.so
I/DEBUG   (   31):          #08  pc 00053eec  /system/lib/libdvm.so
I/DEBUG   (   31):          #09  pc 00054102  /system/lib/libdvm.so
I/DEBUG   (   31):          #10  pc 0004a550  /system/lib/libdvm.so
I/DEBUG   (   31):          #11  pc 0004a5ea  /system/lib/libdvm.so
I/DEBUG   (   31):          #12  pc 0004aada  /system/lib/libdvm.so
I/DEBUG   (   31):          #13  pc 00048174  /system/lib/libdvm.so
I/DEBUG   (   31):          #14  pc 0001103c  /system/lib/libc.so
I/DEBUG   (   31):          #15  pc 00010b20  /system/lib/libc.so
I/DEBUG   (   31): 
I/DEBUG   (   31): code around pc:
I/DEBUG   (   31): afd0eae8 0afffff7 e8bd4010 e12fff1e e1010090 
I/DEBUG   (   31): afd0eaf8 e12fff1e e92d0090 e3a070f0 ef000000 
I/DEBUG   (   31): afd0eb08 e8bd0090 e12fff1e e92d0090 e1a03002 
I/DEBUG   (   31): afd0eb18 e1a02001 e3a01000 e3a070f0 ef000000 
I/DEBUG   (   31): afd0eb28 e8bd0090 e12fff1e e92d0090 e1a02001 
I/DEBUG   (   31): 
I/DEBUG   (   31): code around lr:
I/DEBUG   (   31): afd10510 e3500000 0a00000e e3560000 03a07080 
I/DEBUG   (   31): afd10520 13a07000 e3865002 ea000000 ebfff986 
I/DEBUG   (   31): afd10530 e1a01004 e1a00005 ebfff96d e1560000 
I/DEBUG   (   31): afd10540 e1a01007 e1a00004 e1a02005 e3a03000 
I/DEBUG   (   31): afd10550 1afffff5 e3a00000 e8bd87f0 e3a00016 
I/DEBUG   (   31): 
I/DEBUG   (   31): stack:
I/DEBUG   (   31):     100ffc98  100ffcf8  
I/DEBUG   (   31):     100ffc9c  00000003  
I/DEBUG   (   31):     100ffca0  423bbb71  /data/dalvik-cache/system@framework@framework.jar@classes.dex
I/DEBUG   (   31):     100ffca4  4103afa8  
I/DEBUG   (   31):     100ffca8  100ffcd8  
I/DEBUG   (   31):     100ffcac  4103afa0  
I/DEBUG   (   31):     100ffcb0  4103af8c  
I/DEBUG   (   31):     100ffcb4  afd34300  /system/lib/libc.so
I/DEBUG   (   31):     100ffcb8  100ffcc0  
I/DEBUG   (   31):     100ffcbc  a811ad81  /system/lib/libutils.so
I/DEBUG   (   31):     100ffcc0  000497bc  [heap]
I/DEBUG   (   31):     100ffcc4  00000000  
I/DEBUG   (   31):     100ffcc8  100ffcf8  
I/DEBUG   (   31):     100ffccc  ad33e4ef  /system/lib/libandroid_runtime.so
I/DEBUG   (   31):     100ffcd0  df002777  
I/DEBUG   (   31):     100ffcd4  e3a070ad  
I/DEBUG   (   31): #00 100ffcd8  80888fe8  /system/lib/libdvm.so
I/DEBUG   (   31):     100ffcdc  00000080  
I/DEBUG   (   31): #01 100ffce0  80888fe8  /system/lib/libdvm.so
I/DEBUG   (   31):     100ffce4  00000001  
I/DEBUG   (   31):     100ffce8  001178d8  [heap]
I/DEBUG   (   31):     100ffcec  00000022  
I/DEBUG   (   31):     100ffcf0  00000018  
I/DEBUG   (   31):     100ffcf4  400091e8  /dev/ashmem/mspace/dalvik-heap/zygote/0 (deleted)
I/DEBUG   (   31):     100ffcf8  80888c90  /system/lib/libdvm.so
I/DEBUG   (   31):     100ffcfc  8081b780  /system/lib/libdvm.so
D/dalvikvm(   54): Continuing
E/dalvikvm(   54): VM aborting
I/ServiceManager(   28): service 'batteryinfo' died
I/ServiceManager(   28): service 'entropy' died
I/ServiceManager(   28): service 'SurfaceFlinger' died
I/ServiceManager(   28): service 'usagestats' died
I/ServiceManager(   28): service 'power' died
I/ServiceManager(   28): service 'telephony.registry' died
D/BootAnimation(   68): SurfaceFlinger died, exiting...
I/DEBUG   (   31): debuggerd committing suicide to free the zombie!
D/Zygote  (   33): Process 54 terminated by signal (11)
I/Zygote  (   33): Exit zygote because system server (54) has terminated
E/installd(   35): eof
E/installd(   35): failed to read size
I/installd(   35): closing connection
I/ServiceManager(   28): service 'media.audio_flinger' died
I/ServiceManager(   28): service 'media.player' died
I/ServiceManager(   28): service 'media.camera' died
I/ServiceManager(   28): service 'media.audio_policy' died
I/        (   80): ServiceManager: 0xacd0
D/AudioHardwareInterface(   80): setMode(NORMAL)
I/DEBUG   (   81): debuggerd: Jun 30 2010 13:59:20
D/AndroidRuntime(   82): 
D/AndroidRuntime(   82): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
D/AndroidRuntime(   82): CheckJNI is ON
D/AndroidRuntime(   82): --- registering native functions ---

И затем все это проходит в бесконечном цикле start / fault / dump / restart. Я не думаю, что для меня это показательный шаг, так как я могу нацелиться на 2.2 и запускать 2.3 в эмуляторе, пока не наступит время загрузки на реальном устройстве 2.2. Но это что-то вроде раздражения.

UPDATE

Мне удалось частично загрузить froyo за пределами затмения с помощью командной строки. Начиная его с «эмулятора @froyo -no-boot-anim -logcat '*: v», он загружался до тех пор, пока не отображалась верхняя строка с индикатором заряда батареи. Опустив переключатель logcat, он начал показывать фон перед сбоем. Это все больше и больше напоминает проблему времени.

Это также сейчас происходит на ноутбуке. При установке на один из моих рабочих столов Froyo подходит и работает. Оба имеют одинаковую скорость процессора, но ноутбук представляет собой P4 2.2 ГГц с 1 ГБ памяти, а настольный компьютер представляет собой двойной Xeon 2.2 с 2 ГБ памяти. Оба имеют одинаковые приложения и сервисные нагрузки.

...