त्रुटि: 32-बिट लिनक्स एंड्रॉइड एमुलेटर बायनेरिज़ को एंड्रॉइड एमुलेटर को चलाने के लिए अटेंड करते समय डीप्रेक्ट किया जाता है


14

मैंने उबंटू 10.10, 32 बिट में एंड्रॉइड डेवलपमेंट का माहौल तैयार किया है। AVD बनाने के बाद जब मैंने एमुलेटर लॉन्च किया तो मुझे निम्नलिखित त्रुटि मिली है।

त्रुटि: 32-बिट लिनक्स के एंड्रॉइड एमुलेटर बायनेरिज़ को डीप्रेक्ट किया गया है, उनका उपयोग करने के लिए
आपको निम्नलिखित में से कम से कम एक करना होगा:
- 'एमुलेटर' को लागू करते समय '-force-32 बिट' विकल्प का उपयोग करें।
- अपने वातावरण में ANDROID_EMULATOR_FORCE_32BIT को 'सही' पर सेट करें।
या तो आप 32-बिट बायनेरिज़ का उपयोग करने की अनुमति देंगे, लेकिन कृपया ध्यान रखें कि ये भविष्य के एंड्रॉइड एसडीके रिलीज़ में गायब हो जाएंगे।
ऐसा होने से पहले 64-बिट लिनक्स सिस्टम पर जाने पर विचार करें।

मेरे द्वारा उपयोग किया जा रहा ADT संस्करण 23.0.3.1327240 है। एसडीके पुस्तकालय मैं उपयोग कर रहा हूँ 32 बिट है। कृपया मेरी मदद करें। धन्यवाद।


1
64 बिट पर एक नया संस्करण स्विच अपग्रेड करें।
मट्टो

4
आपको एक समर्थित उबंटू रिलीज़ में अपग्रेड करना चाहिए। आम तौर पर हम इसे असमर्थित के रूप में बंद कर देंगे, लेकिन चूंकि यह मुद्दा वास्तव में पुरानी रिलीज होने के लिए विशिष्ट नहीं है और मुझे लगता है कि अन्य लोग इस समस्या का अनुभव एक समर्थित रिलीज पर कर सकते हैं जो मैं इसे छोड़ दूंगा। लेकिन मैं अत्यधिक आप कम से कम 12.04 में नवीनीकृत सुझाव देते हैं।
सेठ

3
मैं सहमत हूं: यह एक ईओएल रिलीज में एक समस्या के बारे में नए प्रश्नों के अल्पमत में है, जहां (ए) हमें पता है कि उत्तर जारी-स्वतंत्र है, और (बी) दोनों प्रश्न और उत्तर (क्योंकि वे एक आम गतिविधि के साथ शामिल हैं) गैर-स्पष्ट नुकसान) ऐसा लगता है कि वे दूसरों के लिए विशेष रूप से उच्च मूल्य के हो सकते हैं। इसे सभी रिलीज़ के लिए सामान्यीकृत किया जा सकता है, लेकिन हमें इसे खुला रखना चाहिए। @MohanrajMani लेकिन कृपया 10.10 का उपयोग जारी न रखें। यह लंबे समय से असमर्थित है, और इसका मतलब है कि इसका मतलब यह है कि यह नई खोज की गई सुरक्षा कमजोरियों को ठीक करने के लिए अद्यतन नहीं है। इसका इस्तेमाल करना जोखिम भरा है।
एलियाह कगन

1
इसका उबंटू 10.10 से कोई लेना-देना नहीं है, लेकिन विशेष रूप से 32 बिट लाइनक्स डिस्ट्रो पर एंड्रॉइड एमुलेटर का उपयोग करने की कोशिश के कारण होता है जब इसे 64 बिट के लिए डिज़ाइन किया गया था। अगर बुद्धि 386 डिस्ट्रो का उपयोग करते हुए उबंटू 12.xx और 14.xx पर भी यही बात होगी। इसके अलावा, अंतिम बार मैंने आपको केवल 64 बिट पर स्विच करने के लिए जाँच नहीं की। 64 बिट केवल AMD पर समर्थित है, 32 बिट केवल इंटेल पर समर्थित है।
JSON

1
@JSON 64-बिट संस्करण उबंटू 64-बिट एएमडी और 64-बिट इंटेल प्रोसेसर दोनों पर चलता है। "Amd64" में "amd" का मतलब यह नहीं है कि यह केवल AMD है। इसी तरह, 32-बिट संस्करण दोनों (32- और -64-बिट) AMD और (32- और -64-बिट) इंटेल प्रोसेसर पर चलता है - "i386" में "i" का मतलब यह नहीं है कि यह केवल Intel है । देखें Ubuntu का 64-बिट संस्करण केवल AMD CPUs के साथ संगत है? और i386 डाउनलोड और amd64 के बीच अंतर? ब्योरा हेतु। (मैं मानता हूं कि यह प्रश्न उबंटू के 10.10 रिलीज के लिए विशिष्ट नहीं है, हालांकि।)
एलियाह कगन

जवाबों:


15

आपको यह त्रुटि इसलिए मिल रही है क्योंकि आप जाहिरा तौर पर 32 बिट सिस्टम पर चल रहे हैं और एंड्रॉइड एमुलेटर 64 बिट वातावरण में सबसे अच्छा काम करने के लिए डिज़ाइन किया गया है। एकमात्र वास्तविक समाधान 64 बिट ऑपरेटिंग सिस्टम स्थापित करना है।

अपने हार्डवेयर 64 बिट का समर्थन नहीं करता या आप कर सकते हैं नहीं पुनर्स्थापना अभी आप कर सकते हैं अस्थायी रूप से पारित करके समस्या बाईपास -force-32bitजब आप कमांडलाइन से एमुलेटर शुरू करने या स्थापना द्वारा ANDROID_EMULATOR_FORCE_32BITकरने के लिए trueअपने वातावरण में (त्रुटि का कहना है के रूप में)। आप इसे चलाकर कर सकते हैं:

gedit .profile  

एक टर्मिनल से। पाठ जोड़ें:

export ANDROID_EMULATOR_FORCE_32BIT=true  

फ़ाइल के अंत में और सहेजें और इसे बंद करें। मैं अभी इसका परीक्षण नहीं कर सकता, लेकिन आपको या तो source .profileटर्मिनल से भागना होगा या बदलावों को प्रभावी करने के लिए पुनः आरंभ करना होगा।

एमुलेटर को लॉन्च करने का प्रयास करें।

यह अत्यधिक अनुशंसा की जाती है कि आप अपने Android विकास को जारी रखने के लिए 64 बिट ऑपरेटिंग सिस्टम स्थापित करें क्योंकि Google अंततः 32 बिट बायनेरिज़ को हटा देगा जिससे आपके एमुलेटर काम करना बंद कर देंगे। एंड्रॉइड खुद भी एक x64 आर्किटेक्चर की ओर बढ़ रहा है, इसलिए 32 बिट के साथ रहने से आप बहुत जल्द पीछे छूट जाएंगे।


4

मैं एक महान समाधान है। आप इसे ग्रहण या netbeans से शुरू कर सकते हैं। प्रयत्न :

  1. ग्रहण में, अपने Android प्रोजेक्ट फ़ोल्डर पर क्लिक करें और फिर रन> रन कॉन्फ़िगरेशन चुनें ...

  2. रन कॉन्फ़िगरेशन संवाद के बाएं पैनल में, अपने Android प्रोजेक्ट रन कॉन्फ़िगरेशन का चयन करें या एक नया कॉन्फ़िगरेशन बनाएं।

  3. लक्ष्य टैब पर क्लिक करें।

अतिरिक्त एमुलेटर कमांड लाइन विकल्प फ़ील्ड में, दर्ज करें:

-force-32bit

इस रन कॉन्फ़िगरेशन का उपयोग करके अपने Android प्रोजेक्ट को चलाएं।

netbeans में आप: 1. जब आप डिबगर चुनते हैं तो कस्टमाइज़ करें ...

  1. एमुलेटर विकल्प में लिखें -force-32bit
  2. ओके पर क्लिक करें। और आवेदन चलाएँ

1

इस फ़ाइल को संपादित करें:

ubuntu में खुला टर्मिनल

gedit .bashrc

इस पाठ को चिपकाएँ:

export ANDROID_EMULATOR_FORCE_32BIT=true

ताज़ा स्रोत:

source ~/.bashrc

3
~/.bashrcकरता नहीं जड़, इसलिए वहाँ का उपयोग करने का कोई कारण नहीं के रूप में संपादित किया जा करने की जरूरत है sudoइस के लिए। (इसके अलावा, यह एक उचित और उपयोगी उत्तर है, हालांकि मैं ~/.profileइसके बजाय सेठ के सुझाव या शायद असाइनमेंट को डालने के बजाय उस पर्यावरण चर को डालने का सुझाव दूंगा - यानी, बिना export--in `~ / .pam_environment।)
कागन।

@EliahKagan इस Q / A के प्रकाश में शायद ~/.profileसभी के बाद सबसे अच्छी जगह नहीं है? मैं कुछ हद तक भ्रमित कर रहा हूँ क्योंकि विकि विशेष रूप में वातावरण चर रखने का सुझाव दिया है ~/.profile..
सेठ

1

एक शेल स्क्रिप्ट बनाएं:

#!/bin/bash
#
#   set export ANDROID_EMULATOR_FORCE_32BIT=true

export ANDROID_EMULATOR_FORCE_32BIT=true
/opt/adt-bundle-linux-x86-20140702/eclipse/eclipse

शेल स्क्रिप्ट को निष्पादन योग्य में बदलें और इसे ग्रहण लॉन्च करने के लिए चलाएं

/opt/adt-bundle-linux-x86-20140702/eclipse/eclipse ग्रहण करने योग्य के लिए रास्ता है।


टाइटेनियम का उपयोग करते समय यह काम करता है, लेकिन बस उनकी SH फाइल को संपादित करता है। तो यह काम करता है।
jfreak53

1

मैंने एंड्रॉइड स्टूडियो में एमुलेटर कॉन्फ़िगरेशन को अपडेट करके इस समस्या को हल किया है।

  1. Android Studio में Run -> Edit configuration .. मेनू पर जाएं
  2. बाएं फलक पर Android एप्लिकेशन के अंतर्गत एप्लिकेशन नाम का चयन करें
  3. दाएँ फलक पर एमुलेटर टैब चुनें
  4. "अतिरिक्त कमांड लाइन विकल्प:" पर टिक करें और इसके आगे के टेक्स्ट बॉक्स में -force-32bit डालें
  5. "ओके" चुनें और ऐप को फिर से चलाने का प्रयास करें।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.