16.10 के उन्नयन के बाद एंड्रॉइड स्टूडियो छोटी गाड़ी


31

मैंने हाल ही में 16.04 एलटीएस से अपग्रेड किया था, जहां मेरा एंड्रॉइड स्टूडियो 16.10 पर ठीक काम कर रहा था, लेकिन अपने एवीडी एमुलेटर को चलाने की कोशिश कर रहा था, यह त्रुटि लॉग है जिसके बजाय मैं वापस आ गया हूं

Cannot launch AVD in emulator.
Output:
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  155 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  55
  Current serial number in output stream:  54
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  155 (GLX)
  Minor opcode of failed r

इस रास्ते पर Android स्टूडियो है opt/android-studio??
Arduino_Sentinel

यह मेरे लिए Ubuntu 17.04 पर भी होता है। @ Arduino_Sentinel के जवाब ने इसे ठीक कर दिया।
रिमीयन जूल

जवाबों:


49

हाल ही के एंड्रॉइड स्टूडियो अपडेट में, Google उपयोग एक libstdc++ऐसा है जो सिस्टम पर स्थापित इंटेल ड्राइवर के साथ असंगत है

यदि सिस्टम पर नहीं है lib64stdc++6और आपको पहले पैकेजों को स्थापित करना होगा mesa-utils

sudo apt-get install lib64stdc++6 mesa-utils

फिर एंड्रॉइड sdk टूल्स पथ पर पुस्तकालयों को सहानुभूति दें

## For the /Sdk/tools path

cd ~/Android/Sdk/tools/lib64/libstdc++
# making a copy of the file
sudo mv libstdc++.so.6 libstdc++.so.6.og
# symlink
sudo ln -s /usr/lib64/libstdc++.so.6 ~/Android/Sdk/tools/lib64/libstdc++

## For the /Sdk/emulator path

cd ~/Android/Sdk/emulator/lib64/libstdc++
# making a copy of the file
sudo mv libstdc++.so.6 libstdc++.so.6.og 
# symlink
sudo ln -s /usr/lib64/libstdc++.so.6 ~/Android/Sdk/emulator/lib64/libstdc++

12
फोल्डर ~/Android/Sdk/emulator/lib64/libstdc++मेरे लिए था।
केविन ब्रेटके

42

मुझे उबंटू 17.04 पर भी यह समस्या थी और यहाँ मैंने क्या किया।

.profileअपने पसंदीदा टेक्स्ट एडिटर का उपयोग करके संपादित करें

atom ~/.profile

फ़ाइल के अंत में इसे जोड़ें

export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1

स्रोत: एंड्रॉइड एसडीके पर्यावरण चर


2
सबसे अच्छा समाधान
व्लादिमीर

यह एंड्रॉइड स्टूडियो 3.01 के साथ Ubuntu 17.10 पर काम नहीं किया। मैंने सिर्फ लाइब्रेरी फ़ोल्डर का नाम बदला ~ ~ / Android / Sdk / emulator / lib64 / lib / libstdc ++ और यह काम किया।
विंसेंट जेरिस

कुबंटु 18.04 पर मेरे लिए काम किया। आपका बहुत बहुत धन्यवाद!
वेनेसा डेगन

18

टर्मिनल से एमुलेटर चलाएं

emulator -use-system-libs -avd YOUR_VIRTUAL_DEVICE_NAME

1
क्या इसे डिफ़ॉल्ट बनाने का कोई तरीका है, इसलिए मुझे इसे टर्मिनल से चलाने की आवश्यकता नहीं है?
करोरा

1
@ ओंकोरा ने जैस्परैग्रेंटे का उत्तर देखा
अल्तियानो गेरुंग

@AltianoGerung हाँ, क्योंकि मैं पहले से ही एक शेल स्क्रिप्ट में एंड्रॉइड स्टूडियो लपेटता हूं, मैंने वहाँ चर स्थापित करना समाप्त कर दिया ...
karora

4

एंड्रॉइड sdk डायरेक्टरी में एमुलेटर फ़ोल्डर में libstdc ++ का नाम बदलना एक और सरल काम है। यह सिस्टम के लिबास (इंस्टाल होने की जरूरत) पर वापस आ जाएगा। उबंटू 17.10 को मेरे लिए यह That बस काम ’हुआ।


हा यह हास्यास्पद है!
केनेथ वर्डेन

तुम्हारा मतलब क्या है :)? मुझे व्यक्तिगत रूप से समझ में नहीं आ रहा है कि Google इसे इस तरह क्यों शिप करता है। उपयोग-प्रणाली- libs विकल्प ने मेरे लिए काम नहीं किया, इसलिए ऐसा लगता है कि एक मान्य वर्कअराउंड की तरह, एक बस इसे फिर से करना होगा जब एमुलेटर अपडेट किया जाता है।
विन्सेन्ट गेरिस

2

एमुलेटर को अपडेट करें।

Tools -> SDK Manager -> SDK Tools -> Android Emulator

यहाँ छवि विवरण दर्ज करें

यह एक बग है जो 27.2.9 में तय किया जा रहा है।

एंड्रॉइड एमुलेटर का लिनक्स संस्करण अब एक आधुनिक क्लैंग सी ++ टूलकिन का उपयोग करके बनाया गया है। यह परिवर्तन libGL और libstdc ++ त्रुटियों के कारण प्रारंभ होने वाले एमुलेटर के मुद्दे को ठीक करता है।


FYI करें: BTW मैन्युअल रूप से सिम्लिंक बनाना एक अच्छा विचार नहीं है।

सेटिंग ANDROID_EMULATOR_USE_SYSTEM_LIBSएक बेहतर तरीका है। हालाँकि, यह भी आवश्यक नहीं है जब आप सिर्फ एमुलेटर को अपडेट कर सकते हैं।


1

मैंने ऑटो / हार्डवेयर से सॉफ्टवेयर में ग्राफिक्स त्वरण को स्विच किया। जो ड्राइवर इस समस्या का कारण बन रहे हैं, उन्हें केवल ग्राफिक्स त्वरण के लिए वास्तविक हार्डवेयर का उपयोग करने की आवश्यकता है। जब तक आपके गेम या अन्य ग्राफिक्स गहन सॉफ़्टवेयर पर काम करने की आवश्यकता नहीं है, तब तक आपको इसकी आवश्यकता नहीं है। यह प्रत्येक सलाह पर किया जाता है, लेकिन एक बार किए गए सेट पर रहता है।


-1

यह लिंक मदद करता है। मैंने libstdc ++ के स्थान को संशोधित किया है। इसलिए मेरे Ubuntu 17.10 इंस्टॉलेशन पर आधारित है। Libstdc ++। इसलिए फ़ाइल का स्थान भिन्न था। Libstdc ++ के लिए अपना कंप्यूटर खोजें

Ubuntu 17.10 और एंड्रॉइड स्टूडियो 3.1

cd /opt/android-sdk/emulator/lib64/libstdc++
mv libstdc++.so.6{,.bak}
mv libstdc++.so.6.0.19{,.bak}
ln -s /usr/lib/gcc/x86_64-linux-gnu/7/libstdc++.so 
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.