2012-12-21 39 views
19

कमांड लाइन से चल रहा है एक विभाजन गलती के परिणामस्वरूप:एंड्रॉयड एमुलेटर विभाजन गलती

$ emulator -avd nexus_s 
Segmentation fault (core dumped) 

हालांकि, एमुलेटर हाथ चल सीधे इस प्रकार है, ठीक काम करता है।

$ emulator-arm -avd nexus_s 

मुझे संदेह है कि यह एम्यूलेटर के एमआईपीएस या x86 संस्करण को चलाने की कोशिश कर रहा है। क्या एमुलेटर को कॉन्फ़िगर करने का कोई तरीका है जो शुरू करने के लिए निष्पादन योग्य है?

यह सब

Android SDK 17.

को अद्यतन करने -verbose ध्वज जोड़ने के बाद शुरू कर दिया निम्नलिखित निर्गम (जो मुझे नहीं लगता कि कोई भी जानकारी कहते हैं) देता है:

$ emulator -verbose -avd nexus_s 
emulator: found SDK root at /opt/sdk 
emulator: Android virtual device file at: /home/grebulon/.android/avd/nexus_s.ini 
emulator: virtual device content at /home/grebulon/.android/avd/nexus_s.avd 
emulator: virtual device config file: /home/grebulon/.android/avd/nexus_s.avd/config.ini 
emulator: using core hw config path: /home/grebulon/.android/avd/nexus_s.avd/hardware-qemu.ini 
emulator: Found AVD target API level: 17 
emulator: 'magic' skin format detected: 480x800 
emulator: autoconfig: -skin 480x800 
emulator: autoconfig: -skindir (null) 
emulator: keyset loaded from: /home/grebulon/.android/default.keyset 
emulator: found magic skin width=480 height=800 bpp=16 

emulator: autoconfig: -kernel /opt/sdk/system-images/android-17/armeabi-v7a//kernel-qemu 
emulator: autoconfig: -ramdisk /opt/sdk/add-ons/addon-google_apis-google-17/images/armeabi-v7a//ramdisk.img 
emulator: Using initial system image: /opt/sdk/add-ons/addon-google_apis-google-17/images/armeabi-v7a//system.img 
emulator: autoconfig: -data /home/grebulon/.android/avd/nexus_s.avd/userdata-qemu.img 
emulator: autoconfig: -initdata /home/grebulon/.android/avd/nexus_s.avd/userdata.img 
emulator: autoconfig: -cache /home/grebulon/.android/avd/nexus_s.avd/cache.img 
emulator: Physical RAM size: 343MB 

Content of hardware configuration file: 
    hw.cpu.arch = arm 
    hw.cpu.model = cortex-a8 
    hw.ramSize = 343 
    hw.screen = touch 
    hw.mainKeys = yes 
    hw.trackBall = no 
    hw.keyboard = no 
    hw.keyboard.lid = no 
    hw.keyboard.charmap = qwerty2 
    hw.dPad = no 
    hw.gsmModem = yes 
    hw.gps = yes 
    hw.battery = no 
    hw.accelerometer = yes 
    hw.audioInput = yes 
    hw.audioOutput = yes 
    hw.sdCard = yes 
    disk.cachePartition = yes 
    disk.cachePartition.path = /home/grebulon/.android/avd/nexus_s.avd/cache.img 
    disk.cachePartition.size = 66m 
    hw.lcd.width = 480 
    hw.lcd.height = 800 
    hw.lcd.depth = 16 
    hw.lcd.density = 240 
    hw.lcd.backlight = yes 
    hw.gpu.enabled = yes 
    hw.camera.back = none 
    hw.camera.front = none 
    vm.heapSize = 32 
    hw.sensors.proximity = yes 
    hw.sensors.magnetic_field = yes 
    hw.sensors.orientation = yes 
    hw.sensors.temperature = yes 
    kernel.path = /opt/sdk/system-images/android-17/armeabi-v7a//kernel-qemu 
    kernel.parameters = android.checkjni=1 
    disk.ramdisk.path = /opt/sdk/add-ons/addon-google_apis-google-17/images/armeabi-v7a//ramdisk.img 
    disk.systemPartition.initPath = /opt/sdk/add-ons/addon-google_apis-google-17/images/armeabi-v7a//system.img 
    disk.systemPartition.size = 200m 
    disk.dataPartition.path = /home/grebulon/.android/avd/nexus_s.avd/userdata-qemu.img 
    disk.dataPartition.size = 209m 
    avd.name = nexus_s 
. 
QEMU options list: 
emulator: argv[00] = "/opt/sdk/tools/emulator64-arm" 
emulator: argv[01] = "-android-hw" 
emulator: argv[02] = "/home/grebulon/.android/avd/nexus_s.avd/hardware-qemu.ini" 
Concatenated QEMU options: 
/opt/sdk/tools/emulator64-arm -android-hw /home/grebulon/.android/avd/nexus_s.avd /hardware-qemu.ini 
emulator: registered 'boot-properties' qemud service 
emulator: nand_add_dev: system,size=0xc800000,initfile=/opt/sdk/add-ons/addon-google_apis-google-17/images/armeabi-v7a//system.img 
emulator: mapping 'system' NAND image to /tmp/android-grebulon/emulator-RSuUtb 
emulator: rounding devsize up to a full eraseunit, now c810000 

emulator: nand_add_dev: userdata,size=0xd100000,file=/home/grebulon/.android/avd/nexus_s.avd/userdata-qemu.img 
emulator: rounding devsize up to a full eraseunit, now d116000 

emulator: registered 'boot-properties' qemud service 
emulator: Adding boot property: 'dalvik.vm.heapsize' = '32m' 
emulator: Adding boot property: 'qemu.sf.lcd_density' = '240' 
emulator: Adding boot property: 'qemu.hw.mainkeys' = '1' 
emulator: Adding boot property: 'qemu.sf.fake_camera' = 'none' 
emulator: nand_add_dev: cache,size=0x4200000,file=/home/grebulon/.android/avd/nexus_s.avd/cache.img 
emulator: Initializing hardware OpenGLES emulation support 
Segmentation fault (core dumped) 
+1

ओएस एक्स? लिनक्स? विंडोज के कुछ अजीब समांतर-ब्रह्मांड संस्करण जहां उन्होंने '$ 'कमांड प्रॉम्प्ट भी अपनाया? – CommonsWare

+0

लिनक्स, उबंटू 12.04 विशिष्ट होने के लिए। – grebulon

+3

'emulator 'कमांड लाइन में' -v' जोड़ने का प्रयास करें और देखें कि यह कहां डंप करता है। उबंटू 11.10 पर ओपनजीएल चालक को लोड करने का प्रयास करते समय मुझे आर 21 एंड्रॉइड टूल्स क्रैशिंग पर 'एमुलेटर' के साथ समस्या थी - b.android.com पर इसके बारे में कोई समस्या है, जहां वर्कअराउंड उस ओपनजीएल ड्राइवर का नाम बदलना है ताकि एंड्रॉइड कर सके इसे नहीं मिला। – CommonsWare

उत्तर

24

मैं अंत में एक पाया CommonsWare की नोक के बाद समाधान। libOpenglRender.so का नाम बदलना समस्या दूर हो गई।

mv tools/lib/libOpenglRender.so tools/lib/libOpenglRender.so.xxx 
+4

यह एमुलेटर दिखाता है। लेकिन यह निम्न त्रुटि संदेश आउटपुट करता है: एमुलेटर: त्रुटि: OpenGLES इम्यूलेशन लाइब्रेरी लोड नहीं कर सका: lib64OpenglRender.so: साझा ऑब्जेक्ट फ़ाइल नहीं खोल सकता: ऐसी कोई फ़ाइल या निर्देशिका एमुलेटर: चेतावनी: सॉफ़्टवेयर रेंडरर का उपयोग करके ओपनग्लेस इम्यूलेशन प्रारंभ नहीं किया जा सका। –

+0

आपको बहुत धन्यवाद !!! एक हफ्ते से अधिक के बाद यहां सबकुछ कोशिश कर रहा है और वहां सभी lib *। * फ़ाइलों को /tools/lib/lib * * से बदल दिया गया है। * Xxx ने एमुलेटर को शुरू करने के लिए बनाया है। मैं सही था, सभी एमुलेटर क्रैशिंग समस्या OpenGLES से संबंधित थी: https://code.google.com/p/android/issues/detail?id=33336 और https://code.google.com/p/android/ मुद्दों/विवरण? आईडी = 28601 – warmth

+0

64 बिट के लिए lib64OpenglRender.so lib64OpenglRender.so.xxx फ़ाइल का नाम बदलें। –

1

मेरे Ubuntu 12.04 प्रणाली पर, मुझे यकीन है कि "उपयोग होस्ट GPU" बनाने AVD विन्यास में चालू नहीं किया गया इस समस्या का समाधान।

1

प्रकार आदेश

$ एमुलेटर हाथ @nexus_s

आशा इस मदद करता है :-)

0

मैं डेबियन खरखरा पर एक ही समस्या थी। Grebulon का जवाब मेरे लिए काम किया, हालांकि एम्यूलेटर sloooooow था इसलिए मैं इसे सही रास्ता (टीएम) को ठीक करने के लिए बाहर सेट किया।

इस मामले में Segmentation fault शायद ओपनजीएल के साथ समस्याओं का संकेत देता है। (ध्यान दें लॉग की है कि अंतिम पंक्ति है "एमुलेटर: हार्डवेयर OpenGLES अनुकरण समर्थन शुरु कर रहा है")

मेरे मामले में, /var/log/Xorg.0.log के माध्यम से 'जीएल' के लिए खोज (कुछ NVIDIA के GLX ड्राइवर से पता चला पुराने वीडियो कार्ड जो डिजिटल स्वर्ग में चला गया से)। तथ्य यह है मैं एएमडी Radeon मैं इसमें 'NVIDIA' के साथ हर पैकेज की स्थापना रद्द किया है कि यह देखते हुए (सूची: apt-get search nvidia | grep ^i) और स्थापित: रिबूट एमुलेटर

# apt-get install libgl1-fglrx-glx 

के बाद लापता libOpenglRender.so और libGL.so है, जो मैं इस तरह हल के बारे में शिकायत:

# echo "/opt/adt/sdk/tools/lib" > /etc/ld.so.conf.d/android_stuff.conf 
# ldconfig 
# cd /opt/adt/sdk/tools/lib 
# ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 libGL.so 

ध्यान दें कि मेरी स्थिति शायद अनूठी है (जब मैं एनवीडिया से एएमडी में गया था तब समस्याएं शुरू हुईं), लेकिन समस्या की जड़ शायद समान (ओपनजीएल) है। मुझे उम्मीद है कि यह किसी की मदद करेगा।

अपडेट: अभी भी काम नहीं करता है, ऐसा लगता है कि मेरे ड्राइवर ओपनजीएल में 16-बिट रंगों का समर्थन नहीं करते हैं ... आगे की जांच करेंगे।

0

आप यहाँ उत्तर नहीं मिलता है तो सदस्यता लेना चाहिए रहे हैं:

  1. Issue 34233: Emulator start produces segmentation fault after upgrading to r20
  2. Issue 55325: Emulator crashing with segfault
  3. Issue 20952: Emulator segfault on startup (unrelated to audio)

वहाँ आप इस मुद्दे के बारे में अद्यतन प्राप्त करते हैं और कुछ मिलेगा वर्कअराउंड (जैसे lib *। * फाइलों का नाम बदलना)।

संबंधित मुद्दे