ग्रहण और Android एसडीके के साथ समस्याएं


54

मैंने Eclipse स्थापित किया, Openjdk6 और डाउनलोड किया और sdk प्रबंधक फ़ाइल निकाली।

अब, जब मैंने एक Android प्रोजेक्ट बनाया तो मुझे निम्नलिखित त्रुटि मिली:

2012-06-06 18:44:40 - contactManager] /home/catia/android-sdks/platform-tools/aapt: 
error while loading shared libraries: libz.so.1: cannot open shared object file: 
No such file or directory

और यह एक जब मैं एक AVD प्रबंधक बनाने की कोशिश की:

[2012-06-06 19:00:18 - SDK Manager] /home/catia/android-sdks/tools/mksdcard: error 
while loading shared libraries: libstdc++.so.6: cannot open shared object file: No 
such file or directory 
[2012-06-06 19:00:18 - SDK Manager] Failed to create the SD card.
[2012-06-06 19:00:18 - SDK Manager] Failed to create sdcard in the AVD folder.

sudo apt-get install libstdc ++ 6-4.6-dev [या libstdc ++ के साथ सिनैप्टिक पर सर्च करें]। और सूडो एप्ट-गेट स्थापित zlib1g-dev
शांतनु

3
@ शांतनु समस्या यह नहीं है कि हेडर फाइलें ( -devपैकेज) गायब हैं, लेकिन एंड्रॉइड एसडीके को पुस्तकालयों के 32-बिट संस्करणों की आवश्यकता है। हैडर फाइलें केवल सॉफ्टवेयर के निर्माण के लिए आवश्यक होती हैं जो किसी लाइब्रेरी पर निर्भर होती हैं, न कि प्री-बिल्ट सॉफ्टवेयर चलाने के लिए।
एलियाह कगन

जवाबों:


47

यह समस्या इसलिए हो रही है क्योंकि Android SDK 32-बिट GNU / Linux सिस्टम के लिए संकलित है, और आपका Ubuntu सिस्टम 64-बिट GNU / Linux सिस्टम है। समाधान आसान होना चाहिए (क्योंकि उबंटू पूरी तरह से 64-बिट ओएस पर 32-बिट प्रोग्राम चलाने का समर्थन करता है) - बस उन पुस्तकालयों के 32-बिट संस्करण स्थापित करें जिनकी इसे आवश्यकता है।

ऐसा करने का सबसे सरल और आसान तरीका ia32-libsIa32-libs स्थापित करें पैकेज स्थापित करके सभी सबसे अधिक उपयोग किए जाने वाले पुस्तकालयों के 32-बिट संस्करणों को स्थापित करना है । आप सॉफ्टवेयर केंद्र में या टर्मिनल में इसके साथ कर सकते हैं:

sudo apt-get update
sudo apt-get install ia32-libs

मूल रूप ia32-libsसे प्रदान किया गया था क्योंकि उबंटू, अपने डिफ़ॉल्ट कॉन्फ़िगरेशन में, 64-बिट सिस्टम पर 32-बिट उबंटू पैकेज स्थापित करने का समर्थन नहीं करता था। अब जब यह डिफ़ॉल्ट रूप से पूरी तरह से समर्थित है, तो ia32-libsपैकेज आपके 64-बिट सिस्टम पर वही 32-बिट पैकेज स्थापित करने का कारण बनता है जो न्यूनतम 32-बिट सिस्टम पर स्थापित किया जाएगा। (इसलिए जो कोई भी चिंतित है, वह अब काम नहीं कर सकता multarchहै जो डिफ़ॉल्ट रूप से समर्थित है: यह अभी भी काम करता है।)

स्रोत: उबंटू 11.04 पर एंड्रॉइड / एक्लिप्स इंस्टॉलेशन - सही तरीके से काम न करना और
यह भी देखें: ग्रहण एंड्रॉइड प्लगइन - libncurses.so.5


11
यह अब Ubuntu 13.10 के लिए एक समाधान प्रतीत होता है।
सहस कट्टा २०'१३

10
@SahasKatta यह काम करता है askubuntu.com/a/165536/1599
phunehehe

कंसोल शॉट से पहले @SahasKatta टिप्पणी पढ़ें।
दानीहप २२'१४

3
Ubuntu 13.10+ ia32-libs को lib32z1, lib32ncurses5, और lib32bz2-1.0 (जब आप ia32-lib को स्थापित करने का प्रयास करते हैं तो उपलब्ध कराया गया मैसेज) द्वारा बदल दिया गया है। lib32stdc ++ 6 इस सूची में शामिल नहीं है, लेकिन इसकी आवश्यकता भी है।
RBI

3
इस उत्तर ने मुझे मेरे लिए काम करने के लिए प्रेरित किया: "sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0"
cjstehno

55

यदि आप डेबियन जेसी (या Ubuntu 13.10+) का उपयोग कर रहे हैं, तो प्रयास करें

sudo apt-get install lib32stdc++6


यह ubuntu 13.10 64 बिट के लिए अच्छा काम करता है
तमिल सेल्वन सी

लिनक्स टकसाल 16 आरसी पर मेरे लिए बस एक ही समस्या हल हो गई।
ट्रेवर

3
मेरे लिए ब्रांड-नए उबंटू 14.04 पर काम किया। आपका बहुत बहुत धन्यवाद!
ताल्हा ०६

36

यह धागा मेरे लिए फिक्स था।

विशेष रूप से, इस पैकेज को स्थापित करना:

sudo apt-get install lib32z1 lib32z1-dev

1
इस एक को छोड़कर, किसी भी जवाब ने मेरे लिए काम नहीं किया। धन्यवाद :)
कोडमैन

मुझे इस उत्तर के लिए बहुत सारे प्रतिनिधि मिल रहे हैं ... धन्यवाद ... किसी तरह उपयोगकर्ता 'स्क्वीज़ल' ने मेरा उत्तर बदल दिया है इसलिए जो ऊपर है वह मेरा मूल पद नहीं है। मेरी प्रतिक्रिया को बदलने के लिए साइट को -1, जिसे एक लोकप्रिय उत्तर की तरह दिखता है, पोस्ट करने के लिए निचोड़ने के लिए, लेकिन +1 करने के लिए साइट को अनुमति देने के लिए।
ईथर_जॉ

केवल एक जिसने मेरे लिए Ubuntu 14.04 64bit पर काम किया। धन्यवाद!
टीजे बिडल

डेबियन 8.1.0 पर पूरी तरह से काम करता है। मेरे पास पहले से ही lib32stdc ++ 6 था इसलिए मुझे पता था कि यह मुद्दा नहीं था। एक बार फिर धन्यवाद!
woahguy

16

मैं सिर्फ Ubuntu 14.04 64-बिट पर इस में भाग गया। मेरा समाधान था:

sudo apt-get install -y libc6:i386 libgcc1:i386 libstdc++6:i386 libz1:i386

Aapt टूल के लिए आवश्यक साझा लाइब्रेरी के आधार पर:

$ readelf -d android-sdk-linux/build-tools/20.0.0/aapt | grep -i shared
 0x00000001 (NEEDED)                     Shared library: [librt.so.1]
 0x00000001 (NEEDED)                     Shared library: [libdl.so.2]
 0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
 0x00000001 (NEEDED)                     Shared library: [libz.so.1]
 0x00000001 (NEEDED)                     Shared library: [libstdc++.so.6]
 0x00000001 (NEEDED)                     Shared library: [libm.so.6]
 0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]

3
धन्यवाद। इसने मेरे लिए (उबंटू 14.04 x64) काम किया। दूसरों ने नहीं किया।
जुआन जुआन

7

यह मेरे लिए काम करता है: aptitude install lib32stdc++6


इससे मेरे लिए R संबंधित त्रुटियों का एक टन भी समाप्त हो गया।
अकिवा

2
sudo apt-get install lib32z1

इसने मेरे लिए काम किया।

Synaptic पर जाएं -> lib32z1 के लिए खोजें -> रनटाइम और डेवलपमेंट दोनों का चयन करें और अप्लाई करें।



2

Ubuntu 15.04 के लिए, निम्नलिखित आवश्यक था:

sudo apt-get install lib32stdc++6 lib32z1
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.