APK स्थापित करने पर INSTALL_FAILED_NO_MATCHING_ABIS


478

मैंने अपना ऐप Android L प्रीव्यू इंटेल एटम वर्चुअल डिवाइस में इंस्टॉल करने की कोशिश की, यह त्रुटि के साथ विफल रहा:

INSTALL_FAILED_NO_MATCHING_ABIS

इसका क्या मतलब है?


Android 3.0.1 अंक के लिए इस लिंक की जाँच करें: stackoverflow.com/a/49473570/3400991
शोभाकर तिवारी

जवाबों:


633

INSTALL_FAILED_NO_MATCHING_ABISजब आप एक ऐसा एप्लिकेशन इंस्टॉल करने का प्रयास कर रहे हैं जिसमें देशी पुस्तकालय हैं और इसमें आपके cpu आर्किटेक्चर के लिए एक मूल पुस्तकालय नहीं है। उदाहरण के लिए यदि आपने armv7 के लिए एक ऐप संकलित किया है और इसे एक एमुलेटर पर स्थापित करने की कोशिश कर रहे हैं जो इंटेल आर्किटेक्चर का उपयोग करता है इसके बजाय यह काम नहीं करेगा।


1
@DanielOchoa इसकी क्योंकि वे एक पूर्वावलोकन रिलीज के लिए दो छवियों को बनाए रखने के लिए अभ्यस्त। जब एल आधिकारिक तौर पर लॉन्च किया जाता है तो मुझे यकीन है कि एक इंटेल x86 छवि भी होगी।
हिमांशु शर्मा

1
इस समस्या पर कैसे काबू पाएं। मैं Genymotion Emulater का उपयोग कर रहा हूं और gapps और Genymotion-ARM-Transl_v1.1 इंस्टॉल कर रहा हूं, फिर भी मुझे यह समस्या हो रही है।
प्रशांत माहेश्वरी एंड्रो

3
यदि आपको ARM ट्रांसलेटर का उपयोग करते समय भी Genymotion पर यह समस्या है, तो यह इसलिए है क्योंकि आप Google Nexus 10 की तरह x86 वर्चुअल डिवाइस बना रहे हैं। कस्टम टैबलेट में से एक की तरह, ARM वर्चुअल डिवाइस को चुनें।
enl8enmentnow

1
किसी भी विचार क्यों यह नेक्सस 9 पर काम नहीं करेगा 5.1.1 चल रहा है। यह 4.4.2 पर चलने वाले Sony Xperia Z2 टैबलेट पर ठीक काम करता है। संकलित Sdk 21, मिनट 17 पेट ने 22 को लक्षित किया।
भालू

3
अपने विंडोज मशीन पर नेक्सस 5x के लिए एंड्रॉइड स्टूडियो एमुलेटर का उपयोग करते समय मेरे पास यह मुद्दा था। गति के कारणों के लिए [10x तेज] डिफ़ॉल्ट फोन का अनुकरण कर रहा है जैसे कि यह एक इंटेल x86 आर्किटेक्चर के साथ काम कर रहा है [नेक्सस 5x का स्नैपड्रैगन 808 वास्तव में एआरएम पर आधारित है: tomshardware.com/reviews/lg-g4,4643-2.html ] । मैंने AVD प्रबंधक में प्रवेश करने में त्रुटि को ठीक किया, नकली डिवाइस का चयन किया जो मुझे त्रुटि दे रहा था और संपादन बटन पर क्लिक कर रहा था जहां मैंने एक एआरएम (आर्मेबी-वी 7 ए) वास्तुकला स्थापित किया था। इस परिवर्तन के बाद प्लस एमुलेटर ने रिबूट की स्थापना बिना किसी मुद्दे के साथ हुई
एंटोनिनो

150

INSTALL_FAILED_NO_MATCHING_ABIS तब है जब आप एक ऐसा एप्लिकेशन इंस्टॉल करने का प्रयास कर रहे हैं जिसमें देशी लाइब्रेरी हों और इसमें आपके cpu आर्किटेक्चर के लिए मूल लाइब्रेरी न हो। उदाहरण के लिए यदि आपने armv7 के लिए एक ऐप संकलित किया है और इसे एक एमुलेटर पर स्थापित करने की कोशिश कर रहे हैं जो इंटेल आर्किटेक्चर का उपयोग करता है इसके बजाय यह काम नहीं करेगा।

Visual Studio 2015 पर Xamarin का उपयोग करके इस समस्या को हल करें:

  1. अपनी xamarin खोलें .sln
  2. अपने Android प्रोजेक्ट पर राइट क्लिक करें
  3. गुणों पर क्लिक करें
  4. Android विकल्प पर क्लिक करें
  5. 'उन्नत' टैब पर क्लिक करें
  6. "समर्थित आर्किटेक्चर" के तहत निम्नलिखित जाँच करें:

    1. armeabi-v7a
    2. 86
  7. सहेजें

  8. F5 (बिल्ड)

संपादित करें: इस समाधान को विज़ुअल स्टूडियो 2017 पर भी काम करने के रूप में बताया गया है ।

एडिट 2: इस समाधान को मैक के लिए विजुअल स्टूडियो 2017 पर काम करने के रूप में बताया गया है ।


6
वह समाधान विजुअल स्टूडियो 2017 पर भी काम किया, एक एक्समरीन के लिए। और थायरॉयड प्रोजेक्ट।
कॉरेंटाइनलटेप

1
Android WebView App प्रोजेक्ट
JRodd

4
यह ज़मारिन पर लगता है, हर नए दिन पर एक नया, अप्रत्याशित अवरोध होता है, जो मुझे अपने एप्लिकेशन को चलाने से रोकता है (जो काम करता है)। चूंकि मेरी csproj फाइल ड्रॉपबॉक्स पर है, मैं संस्करण इतिहास की जांच कर सकता था, और यह संपत्ति कल फ़ाइल में नहीं थी, यह पूरी तरह से गायब थी। आज, मुझे ऐप चलाने के लिए x86 विकल्प जोड़ना पड़ा। पृथ्वी पर xamarin या android अचानक अलग-अलग डिफ़ॉल्ट मानों का उपयोग क्यों कर रहा है? यह कितना निराशाजनक है! वैसे भी, आप जैसे लोगों के लिए धन्यवाद, मैं दूर हो सकता हूं और काम पर निकल सकता हूं। बहुत बहुत धन्यवाद, और आपके लिए +1!
तिमन

2
काश मैं एक से अधिक बार उत्थान कर पाता ... मैक के लिए वीएस 2017 पर परीक्षण किया गया और काम किया गया।
जोर्डीविलप्लाना

मैक के लिए विजुअल स्टूडियो कम्युनिटी 2019 के लिए: 1. अपने एंड्रॉइड प्रोजेक्ट पर राइट क्लिक करें। 2. ऑप्शन पर क्लिक करें। एंड्रॉइड बिल्ड पर क्लिक करें। 4. एडवांस
null

87

मैं एक और सूत्र से उत्तर पोस्ट कर रहा हूं क्योंकि यह मेरे लिए अच्छी तरह से काम कर रहा है, चाल दोनों आर्किटेक्चर के लिए समर्थन जोड़ने के लिए है:

इसे पोस्ट करना क्योंकि मुझे सीधा उत्तर नहीं मिल रहा था और मुझे जो करना था, उसे पाने के लिए अलग-अलग पोस्ट के एक जोड़े को देखना पड़ा ...

मैं केवल अपने मॉड्यूल के निर्माण के साथ x86 त्वरित (HAXM) एमुलेटर का उपयोग करने में सक्षम था। android {} ब्लॉक के अंदर लिपि का निर्माण करें:

splits {
        abi {
            enable true
            reset()
            include 'x86', 'armeabi-v7a'
            universalApk true
        }
    }

चलाएँ (बनाएँ) ... अब आपके आउटपुट फ़ोल्डर में a (yourapp) -x86-debug.apk होगा। मुझे यकीन है कि रन पर स्थापित करने को स्वचालित करने का एक तरीका है, लेकिन मैं अपना पसंदीदा HAXM एमुलेटर शुरू करता हूं और कमांड लाइन का उपयोग करता हूं:

adb install (yourapp)-x86-debug.apk

2
विफलता [INSTALL_FAILED_NO_MATCHING_ABIS]
abbasalim

मेरे लिए काम नहीं किया और (yourapp)-x86-debug.apkमेरे प्रोजेक्ट आउटपुट में फ़ाइल नहीं मिली ।
ईदो

मैं जरूरी नहीं कि APK को विभाजित करना चाहता हूं, क्या यह एक विकल्प है? @DrissBounouar
ericn

आप सार्वभौमिक APK का उपयोग कर सकते हैं, संभवतः इसमें दोनों आर्किटेक्चर हैं।
Driss Bounouar

अभी भी उसी समस्या का सामना कर रहा है
विकाश पराजुली

61

यदि आप Genymotion का उपयोग कर रहे हैं तो आपको ARM ट्रांसलेशन और GApps इंस्टॉल करने की आवश्यकता है


आपके द्वारा उपयोग किए जाने वाले कुछ एपीआई में, आपको "एआरएम ट्रांसलेशन इंस्टालर v1.1" और "जीएपीएस दोनों को अपने एंड्रॉइड वर्जन के लिए" जोड़ना होगा।
संन्यासी

4
अद्यतन 28 मई, 2017: यह मार्गदर्शिका अब समर्थित नहीं है और शायद काम नहीं करती है। कृपया इसका उपयोग न करें या समर्थन के लिए न कहें। Xda- डेवलपर्स से
AndroidCoolestRulest

1
एआरएम ट्रांसलेशन
देवांश मौर्य

37

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

android {
  splits {
    abi {
        enable true
        reset()
        include 'x86', 'armeabi-v7a'
        universalApk true
    }
  }
  ...[rest of your gradle script]

1
नमस्ते। इसने मेरी परियोजना को सफलतापूर्वक बनाया लेकिन फिर भी इसने मुझे वही त्रुटि दी। मैं मैक, जीनोमिशन पर काम कर रहा हूं। इसके अलावा, सामान्य तौर पर, यह सेटिंग्स जो आपने बताई है, केवल डिबग संस्करण के लिए या रिलीज बिल्ड के लिए भी है?
myDoggyWritesCode

@ user3241111 यह डिबग और ठेस दोनों के लिए इस्तेमाल किया जा सकता है। क्या आपने अपनी परियोजना को साफ करने की कोशिश की है। या शायद Android Studio को अमान्य / पुनः आरंभ करें?
इगोरगानापोलस्की

1
@ user3241111 यदि आप कमांड-लाइन टर्मिनल बिल्ड के लिए gradlew का उपयोग कर रहे हैं, तो आप अभी भी अपने प्रोजेक्ट को gradle से साफ़ कर सकते हैं।
इगोरगानापोल्स्की

1
मैंने इस समाधान की कोशिश की, यह काम किया .. मेरी परियोजना में कोई APP_ABI नहीं था। लेकिन मैंने इसे अपने अनुसार जोड़ा और यह सिर्फ एक एपीके का निर्माण करता है और यह काम करता है। stackoverflow.com/a/35565901/3241111
myDoggyWritesCode

1
इसके अलावा, मैंने अभी-अभी सक्षम डेमल डेमन को जोड़ा है और इसने इस प्रक्रिया को बहुत आगे
बढ़ाया है

11

मुझे पता है कि यहाँ बहुत सारे उत्तर थे, लेकिन TL; DR संस्करण यह है (यदि आप Xamarin स्टूडियो का उपयोग कर रहे हैं)

  1. समाधान ट्री में Android प्रोजेक्ट पर राइट क्लिक करें
  2. चुनते हैं Options
  3. के लिए जाओ Android Build
  4. Advancedटैब पर जाएं
  5. अपने एमुलेटर में उपयोग होने वाले आर्किटेक्चर की जांच करें (संभवतः x86/ armeabi-v7a/ armeabi)
  6. एक लात एप्लिकेशन बनाएं :)

11

इस समाधान ने मेरे लिए काम किया। इसे आज़माएं, अपने ऐप की बिल्ड.ग्रेड फ़ाइल में निम्न पंक्तियाँ जोड़ें

splits {
    abi {
        enable true
        reset()
        include 'x86', 'armeabi-v7a'
        universalApk true
    }
}

11

Android 8 पर:

apache.commons.io:2.4

यह INSTALL_FAILED_NO_MATCHING_ABIS देता है, इसे 2.5 या 2.6 में बदलने का प्रयास करें और यह काम करेगा या इस पर टिप्पणी करेगा।


6
आपका बहुत-बहुत धन्यवाद, आपने मेरा दिन बचाया। मुझे नहीं पता कि मुझे क्यों मिला: कार्यान्वयन '
org.apache.directory.studio:org.apache.commons.io:2.4

7

@ Enl8enmentnow की टिप्पणी जीनोमिशन का उपयोग करके समस्या को ठीक करने के लिए एक उत्तर होना चाहिए:

यदि आपको ARM ट्रांसलेटर का उपयोग करते समय भी Genymotion पर यह समस्या है, तो यह इसलिए है क्योंकि आप Google Nexus 10 की तरह x86 वर्चुअल डिवाइस बना रहे हैं। कस्टम टैबलेट में से एक की तरह, ARM वर्चुअल डिवाइस को चुनें।


1
मैं मैक पर काम कर रहा हूं और शायद यह x86 वर्चुअल डिवाइस के लिए निर्मित है। मैंने जीनोमिशन कस्टम टैबलेट के साथ भी कोशिश की, यह काम नहीं किया, और स्थापित करते समय एक ही त्रुटि दी
myDoggyWritesCode

7

यह मेरे लिए काम किया ... Android> ग्रेड स्क्रिप्ट> build.gradle (मॉड्यूल: एप्लिकेशन) Android के अंदर जोड़ें *

android {
  //   compileSdkVersion 27
     defaultConfig {
        //
     }
     buildTypes {
        //
     }
    // buildToolsVersion '27.0.3'

    splits {
           abi {
                 enable true
                 reset()
                 include 'x86', 'armeabi-v7a'
                 universalApk true
               }
    }
 }

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


6

विजुअल स्टूडियो मैक - आप यहाँ समर्थन बदल सकते हैं:

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


6

मुझे बिटकॉइन लाइब्रेरी (org.bitcoinj: bitcoinj-core: 0.14.7) का उपयोग करने में यह समस्या हुई। इसे android मोड के अंदर एक पैकेजिंग विकल्प build.gradle (मॉड्यूल ऐप में) में जोड़ा गया। इसने मेरी मदद की।

android {
...
    packagingOptions {
        exclude 'lib/x86_64/darwin/libscrypt.dylib'
        exclude 'lib/x86_64/freebsd/libscrypt.so'
        exclude 'lib/x86_64/linux/libscrypt.so'
    }
}

धन्यवाद। इसने मुझे बिटकॉइन जे इंटीग्रेशन में मदद की।
उमेर कियानी

बहुत बहुत धन्यवाद, मैं कई समाधान की कोशिश कर रहा हूं, लेकिन यह समाधान मेरे लिए काम करता है मेरा मुद्दा scrypt-1.4.0.jar के लिए है एंड्रॉइड पाई संस्करण (नोकिया 7.1) डिवाइस में स्थापित नहीं है
सागर पिथिया

3

मेरे मामले में, एक xamarin परियोजना में, गुणों का चयन करके हटाए गए दृश्य स्टूडियो त्रुटि में -> एंड्रॉइड विकल्प और चेक का उपयोग करें शेयर रन टाइम्स और फास्ट तैनाती का उपयोग करें, कुछ मामलों में उनमें से एक। यहाँ छवि विवरण दर्ज करें


2

मैक पर जीनोमिशन के लिए, मुझे अपना एपीके इंस्टॉल करते समय INSTALL_FAILED_NO_MATCHING_ABIS त्रुटि मिल रही थी।

मेरी परियोजना में कोई "APP_ABI" नहीं था, लेकिन मैंने इसे तदनुसार जोड़ा और इसने दोनों आर्किटेक्चर के लिए केवल एक एपीकेटी बनाया लेकिन यह काम किया। https://stackoverflow.com/a/35565901/3241111


2

दृश्य स्टूडियो सामुदायिक संस्करण 2017 में, कभी-कभी Android विकल्प से समर्थित ABI का चयन अभ्यस्त काम नहीं करता है।

उस स्थिति में कृपया पुष्टि करें कि .csproj में निम्न पंक्ति है और समान बिल्ड कॉन्फ़िगरेशन में कोई डुप्लिकेट लाइनें नहीं हैं।

 <AndroidSupportedAbis>armeabi;armeabi-v7a;x86;x86_64;arm64-v8a</AndroidSupportedAbis>

संपादित करने के लिए,

  1. अपने Android प्रोजेक्ट को लोड करें
  2. राइट क्लिक करें और संपादित करें प्रोजेक्ट चुनें ...
  3. सुनिश्चित करें कि आपके पास बिल्ड कॉन्फ़िगरेशन में केवल एक बार उपरोक्त रेखा है
  4. सहेजें
  5. अपने एंड्रॉइड प्रोजेक्ट और रीलोड पर राइट क्लिक करें

1

मूल रूप से अगर आपने ऊपर सब कुछ करने की कोशिश की और फिर भी आपके पास एक ही त्रुटि है "क्योंकि मैं इस मुद्दे का सामना पहले भी कर रहा हूं" तो चेक .jar या .aar या आपके द्वारा जोड़ा गया मॉड्यूल ndk का उपयोग करने वाला एक पुस्तकालय हो सकता है, और वह 8.0 का समर्थन नहीं कर रहा है। (Oreo) +, इसी तरह मैं Microsoft सिग्नलआर सॉकेट लाइब्रेरी का उपयोग कर रहा हूँ। अपनी .jar फ़ाइलें और बाद में मुझे पता चला कि ऐप Oreo में इंस्टॉल नहीं हो रहा है, तो बाद में मैं उस लाइब्रेरी को हटा दूंगा क्योंकि वर्तमान में इसके git पेज पर कोई समाधान नहीं है और मैं दूसरे के लिए जाता हूँ। ।

इसलिए कृपया अपने द्वारा उपयोग किए जा रहे पुस्तकालय की जाँच करें और यदि आपको इसकी आवश्यकता है, तो इसके बारे में खोज करें।


1

एंड्रॉइड 7 (नूगाट) से एंड्रॉइड 8 (ओरेओ) में स्थानांतरित होने पर मुझे इस मुद्दे का सामना करना पड़ा।

मैंने ऊपर सूचीबद्ध कई तरीकों की कोशिश की है और मेरे बुरे भाग्य ने कुछ भी काम नहीं किया है।

तो मैं .zip फ़ाइल को .apk फ़ाइल बदल यह निकाला जाता है और पाया lib इस फाइल जो साथ था फ़ोल्डर /x86_64/darwin/libscrypt.dylib तो यह दूर करने के लिए मैं अपने में एक कोड जोड़ा build.gradle एंड्रॉयड अनुभाग नीचे मॉड्यूल (यानी )

packagingOptions {
    exclude 'lib/x86_64/darwin/libscrypt.dylib'
    exclude 'lib/x86_64/freebsd/libscrypt.so'
    exclude 'lib/x86_64/linux/libscrypt.so'
}

चीयर्स इश्यू हल किया


1

सामान्य रूप से यह पता लगाने के लिए कि कौन सी लाइब्रेरी निर्भरता में असंगत एबीआई है,

  • एंड्रॉइड स्टूडियो में एक एपीके फाइल बनाएं (मेन्यू बिल्ड> बिल्ड बंडल (एस) / एपीके (एस)> बिल्ड एपीके (ओं) // वास्तविक पर 01.04.2020
  • नाम बदलें फ़ाइल, एक्सटेंशन "जिप" के साथ एक्सटेंशन "एपीके" की जगह
  • ज़िप फ़ाइल को एक नए फ़ोल्डर में अनपैक करें
  • libs फ़ोल्डर में जाएं
  • पता करें कि कौन से * .jpg पुस्तकालय असंगत एबीआई के साथ हैं

जब आप APK समस्या को स्थापित करने के लिए INSTALL_FAILED_NO_MATCHING_ABIS को हल करने के लिए इन पुस्तकालयों को संस्करण अपग्रेड / हटाने / बदलने का प्रयास कर सकते हैं


0

मेरे साथ ऐसा हुआ। मैंने एसडीके प्रबंधक की जाँच की और उसने मुझे बताया कि मैं जो भी उपयोग कर रहा था उसमें अपडेट था। मैंने इसे अपडेट किया और समस्या दूर हो गई।


0

काफी देर हो गई, लेकिन बस इसी में भाग गई। इसके लिए है Xamarin.Android। सुनिश्चित करें कि आप रिलीज़ मोड में डीबग करने का प्रयास नहीं कर रहे हैं। अगर मुझे रिलीज़ मोड में और डीबग करने का प्रयास करने में वही त्रुटि मिलती है। बस रिलीज से डिबग पर स्विच करने से मुझे ठीक से स्थापित करने की अनुमति मिली।


0

मेरे मामले में, मुझे एप्लिकेशन के x86 संस्करण को डाउनलोड करने की आवश्यकता है।

  1. Https://www.apkmirror.com/ पर जाएं
  2. एप्लिकेशन के लिए खोजें
  3. सूची में पहले एक का चयन करें
  4. पृष्ठ के शीर्ष पर देखें, जहाँ पर [कंपनी का नाम]> [अनुप्रयोग का नाम]> [संस्करण संख्या] है
  5. एप्लिकेशन नाम पर क्लिक करें
  6. 'सभी वेरिएंट' पर क्लिक करें
  7. सूची में x86 संस्करण डाउनलोड करने के लिए होना चाहिए

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