Je n'arrive pas à faire démarrer une image armv8 (API24, Nougat, Android 7.0) pour démarrer avec succès dans l'émulateur Android. Le logiciel de l'émulateur a été mis à jour aujourd'hui à la dernière version.
Le premier problème que je vois dans adb logcat
c'est ça :
01-01 00:01:28.730 857 857 I Zygote : Preloading resources...
01-01 00:01:30.386 1040 1040 D ICU : No timezone override file found: /data/misc/zoneinfo/current/icu/icu_tzdata.dat
01-01 00:01:30.572 1040 1040 F libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0xffff87ef99b001 in tid 1040 (main)
01-01 00:01:30.574 817 817 W : debuggerd: handling request: pid=1040 uid=0 gid=0 tid=1040
01-01 00:01:30.610 857 857 W Resources: Preloaded drawable resource #0x1080298 (android:drawable/editbox_dropdown_background_dark) that varies with configuration!!
01-01 00:01:31.065 1102 1102 E : debuggerd: Unable to connect to activity manager (connect failed: No such file or directory)
01-01 00:01:31.082 1102 1102 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-01 00:01:31.084 1102 1102 F DEBUG : Build fingerprint: 'Android/sdk_phone_arm64/generic_arm64:7.0/NYC/3245079:userdebug/test-keys'
01-01 00:01:31.084 1102 1102 F DEBUG : Revision: '0'
01-01 00:01:31.084 1102 1102 F DEBUG : ABI: 'arm64'
01-01 00:01:31.085 1102 1102 F DEBUG : pid: 1040, tid: 1040, name: main >>> zygote64 <<<
01-01 00:01:31.086 1102 1102 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xffff87ef99b001
01-01 00:01:31.087 1102 1102 F DEBUG : x0 0000000071df8494 x1 0000000000000013 x2 0000000000000008 x3 0000000000000001
01-01 00:01:31.087 1102 1102 F DEBUG : x4 0000000000000004 x5 0000000071b05744 x6 0000000071b05748 x7 0000000000000000
01-01 00:01:31.087 1102 1102 F DEBUG : x8 0000000000000000 x9 0000000000000000 x10 00000000000ffffe x11 00000000ffffffff
01-01 00:01:31.087 1102 1102 F DEBUG : x12 0000000000000001 x13 0000000000002a3c x14 00000078a22b2c04 x15 0000000000000000
01-01 00:01:31.088 1102 1102 F DEBUG : x16 0000007fe6bc6f30 x17 0000000000000000 x18 00000000ffffffff x19 0000000071df8494
01-01 00:01:31.088 1102 1102 F DEBUG : x20 0000000000000000 x21 0000000070605088 x22 0000000000000000 x23 0000000000000000
01-01 00:01:31.088 1102 1102 F DEBUG : x24 ffffff87ef99b001 x25 00000078a27f7ed8 x26 0000000070605088 x27 00000078a283d180
01-01 00:01:31.089 1102 1102 F DEBUG : x28 0000028800000000 x29 0000007fe6bc6f20 x30 00000078a2728c40
01-01 00:01:31.089 1102 1102 F DEBUG : sp 0000007fe6bc6d10 pc 00000078a272803c pstate 0000000060000000
01-01 00:01:31.353 1102 1102 F DEBUG :
01-01 00:01:31.353 1102 1102 F DEBUG : backtrace:
01-01 00:01:31.355 1102 1102 F DEBUG : #00 pc 000000000054703c /system/lib64/libart.so (artQuickResolutionTrampoline+2572)
01-01 00:01:31.355 1102 1102 F DEBUG : #01 pc 00000000000dae1c /system/lib64/libart.so (art_quick_resolution_trampoline+92)
01-01 00:01:31.355 1102 1102 F DEBUG : #02 pc 00000000000d1c68 /system/lib64/libart.so (art_quick_invoke_static_stub+600)
01-01 00:01:31.356 1102 1102 F DEBUG : #03 pc 00000000000de6b0 /system/lib64/libart.so (_ZN3art9ArtMethod6InvokeEPNS_6ThreadEPjjPNS_6JValueEPKc+252)
01-01 00:01:31.356 1102 1102 F DEBUG : #04 pc 000000000028c2e4 /system/lib64/libart.so (_ZN3art11interpreter34ArtInterpreterToCompiledCodeBridgeEPNS_6ThreadEPNS_9ArtMethodE$
01-01 00:01:31.356 1102 1102 F DEBUG : #05 pc 00000000002852c0 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameE$
01-01 00:01:31.357 1102 1102 F DEBUG : #06 pc 0000000000551bf0 /system/lib64/libart.so (MterpInvokeStatic+356)
01-01 00:01:31.357 1102 1102 F DEBUG : #07 pc 00000000000c4514 /system/lib64/libart.so (ExecuteMterpImpl+14612)
Après cela, je commence à voir ces problèmes :
01-01 00:01:36.467 857 857 I Zygote : ...preloaded 114 resources in 7735ms.
01-01 00:01:36.747 857 857 I Zygote : ...preloaded 41 resources in 280ms.
01-01 00:01:36.749 857 857 D libEGL : Emulator has host GPU support, qemu.gles is set to 1.
01-01 00:01:36.773 857 857 E libEGL : load_driver(/system/lib/egl/libGLES_emulation.so): dlopen failed: library "/system/lib/egl/libGLES_emulation.so" not found
01-01 00:01:36.869 857 857 D libEGL : loaded /system/lib/egl/libEGL_emulation.so
01-01 00:01:36.928 857 857 D libEGL : loaded /system/lib/egl/libGLESv1_CM_emulation.so
01-01 00:01:37.516 857 857 D libEGL : loaded /system/lib/egl/libGLESv2_emulation.so
01-01 00:01:38.151 857 857 I Zygote : Preloading shared libraries...
01-01 00:01:38.325 857 857 E Hyphenator: error loading hyphenation /system/usr/hyphen-data/hyph-as.hyb
01-01 00:01:38.325 857 857 E Hyphenator: java.io.FileNotFoundException: /system/usr/hyphen-data/hyph-as.hyb: open failed: ENOENT (No such file or directory)
01-01 00:01:38.325 857 857 E Hyphenator: at libcore.io.IoBridge.open(IoBridge.java:455)
01-01 00:01:38.325 857 857 E Hyphenator: at java.io.RandomAccessFile.<init>(RandomAccessFile.java:247)
01-01 00:01:38.325 857 857 E Hyphenator: at android.text.Hyphenator.loadHyphenator(Hyphenator.java:118)
01-01 00:01:38.325 857 857 E Hyphenator: at android.text.Hyphenator.init(Hyphenator.java:224)
01-01 00:01:38.325 857 857 E Hyphenator: at com.android.internal.os.ZygoteInit.preloadTextResources(ZygoteInit.java:252)
01-01 00:01:38.325 857 857 E Hyphenator: at com.android.internal.os.ZygoteInit.preload(ZygoteInit.java:206)
01-01 00:01:38.325 857 857 E Hyphenator: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:722)
01-01 00:01:38.325 857 857 E Hyphenator: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
01-01 00:01:38.325 857 857 E Hyphenator: at libcore.io.Posix.open(Native Method)
01-01 00:01:38.325 857 857 E Hyphenator: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:187)
01-01 00:01:38.325 857 857 E Hyphenator: at libcore.io.IoBridge.open(IoBridge.java:441)
01-01 00:01:38.325 857 857 E Hyphenator: ... 6 more
01-01 00:01:38.353 857 857 E Hyphenator: error loading hyphenation /system/usr/hyphen-data/hyph-bn.hyb
01-01 00:01:38.353 857 857 E Hyphenator: java.io.FileNotFoundException: /system/usr/hyphen-data/hyph-bn.hyb: open failed: ENOENT (No such file or directory)
01-01 00:01:38.353 857 857 E Hyphenator: at libcore.io.IoBridge.open(IoBridge.java:455)
01-01 00:01:38.353 857 857 E Hyphenator: at java.io.RandomAccessFile.<init>(RandomAccessFile.java:247)
01-01 00:01:38.353 857 857 E Hyphenator: at android.text.Hyphenator.loadHyphenator(Hyphenator.java:118)
01-01 00:01:38.353 857 857 E Hyphenator: at android.text.Hyphenator.init(Hyphenator.java:224)
01-01 00:01:38.353 857 857 E Hyphenator: at com.android.internal.os.ZygoteInit.preloadTextResources(ZygoteInit.java:252)
01-01 00:01:38.353 857 857 E Hyphenator: at com.android.internal.os.ZygoteInit.preload(ZygoteInit.java:206)
01-01 00:01:38.353 857 857 E Hyphenator: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:722)
01-01 00:01:38.353 857 857 E Hyphenator: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
01-01 00:01:38.353 857 857 E Hyphenator: at libcore.io.Posix.open(Native Method)
01-01 00:01:38.353 857 857 E Hyphenator: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:187)
01-01 00:01:38.353 857 857 E Hyphenator: at libcore.io.IoBridge.open(IoBridge.java:441)
01-01 00:01:38.353 857 857 E Hyphenator: ... 6 more
un peu plus tard :
01-01 00:02:33.431 1137 1137 I Zygote : System server process 1305 has been created
01-01 00:02:33.497 1137 1137 I Zygote : Accepting command socket connections
01-01 00:02:34.153 1305 1305 I Zygote : Process: zygote socket opened, supported ABIS: armeabi-v7a,armeabi
01-01 00:02:34.204 1305 1305 I InstallerConnection: connecting...
01-01 00:02:34.217 861 861 I : new connection
01-01 00:02:34.461 1305 1305 I InstallerConnection: disconnecting...
01-01 00:02:34.462 861 861 E : eof
01-01 00:02:34.462 861 861 E : failed to read size
01-01 00:02:34.462 861 861 I : closing connection
01-01 00:02:35.107 1305 1305 W SystemServer: System clock is before 1970; setting to 1970.
01-01 00:02:35.153 1305 1305 I SystemServer: Entered the Android system server!
01-01 00:02:35.184 1305 1305 F libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0xffff80f5b1a001 in tid 1305 (system_server)
01-01 00:02:35.213 817 817 W : debuggerd: handling request: pid=1305 uid=1000 gid=1000 tid=1305
01-01 00:02:35.231 817 817 E : debuggerd: waitpid returned unexpected pid (0), committing murder-suicide
01-01 00:02:35.231 817 817 W : debuggerd: pid 0 received signal 9
01-01 00:02:35.280 817 817 E : debuggerd: killing target 1305
Après 7 minutes d'essais, j'obtiens ceci :
01-01 00:07:23.083 2429 2429 I InstallerConnection: connecting...
01-01 00:07:23.085 861 861 I : new connection
01-01 00:07:23.112 2429 2429 I SystemServiceManager: Starting com.android.server.am.ActivityManagerService$Lifecycle
01-01 00:07:23.255 2429 2429 I ActivityManager: Memory class: 48
01-01 00:07:23.271 2429 2449 I ServiceThread: Enabled StrictMode logging for ActivityManager looper.
01-01 00:07:23.291 2429 2450 I ServiceThread: Enabled StrictMode logging for android.ui looper.
01-01 00:07:24.241 861 861 E : eof
01-01 00:07:24.242 861 861 E : failed to read size
01-01 00:07:24.242 861 861 I : closing connection
01-01 00:07:24.302 2281 2281 I Zygote : Process 2429 exited due to signal (11)
01-01 00:07:24.302 2281 2281 E Zygote : Exit zygote because system server (2429) has terminated
Puis tout se répète encore pendant des heures et je n'arrive jamais au lanceur.
En fait, ce qui se passe, c'est que SystemServer se plante à cause d'un SIGSEGV, alors que puis-je faire ? J'ai essayé de nombreuses images armv8 et aucune d'entre elles ne fonctionne, j'ai essayé sur 2 ordinateurs différents, avec opengl dans le matériel et opengl dans le logiciel.
Que puis-je essayer d'autre ? J'ai besoin de le faire fonctionner pour tester un APK arm-64bit avant de le télécharger sur la boutique Google.
Peut-être que le problème vient du matériel que je choisis pour l'émulateur ? J'utilise un appareil Nexus 5.