स्थापना विफल रही: 'null' - Android Studio 3.5


83

मैंने एंड्रॉइड स्टूडियो को 3.5 पर अपडेट किया है, जब से मैं एपीके इंस्टॉलेशन समस्या में चल रहा हूं। यह एकमात्र लॉग है जो यह दिखाता है:

Installation did not succeed.
The application could not be installed: INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION
Installation failed due to: 'null'
Retry

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

मैंने क्या कोशिश की है:

  • हटाए गए Android स्टूडियो कॉन्फ़िगरेशन फ़ाइल।
  • प्रोजेक्ट से हटाए गए ग्रेडल फ़ाइलें।
  • अमान्य और कैश रीसेट करें।
  • साफ / परियोजना का पुनर्निर्माण किया।
  • इसी तरह की समस्याओं के लिए देखा Stackoverflow (कुछ भी मेरी समस्या से मेल नहीं खाता)
  • स्वच्छ स्थापित (एसडीके सहित सभी फाइलें हटा दी गई) एंड्रॉइड स्टूडियो 3.5

अपडेट करें

मैंने अपनी मशीन पर लिनक्स मिंट स्थापित किया और एएस 3.5 का परीक्षण किया, किसी कारण से एंड्रॉइड 7 और नीचे के उपकरणों के लिए भी सब कुछ ठीक काम कर रहा है।

पिछला ओएस: विंडोज 10 1903

वर्तमान ओएस: लिनक्स मिंट 19.2

मुझे लगता है कि यह समस्या विंडोज मशीनों से उत्पन्न हो सकती है।


मेरे पास भी ऐसी ही समस्या है - लेकिन मेरे लिए यह INSTALL_PARSE_FAILED_NOT_APKएस्प्रेसो परीक्षण चलाते समय है
adek111

मैं भी मिल रहा हूँINSTALL_PARSE_FAILED_NOT_APK
jobevers

मुझे भी यही मुद्दा मिल रहा है।
संथोष

14
वाह गूगल, तुम यह कैसे एक स्थिर रिलीज कर सकते हैं ?!
0101100101

क्या आपने जांचा था कि आपके एंड्रॉइड स्टूडियो में इंस्टेंट रन सक्षम है या नहीं?
रेज़स मुरशेड

जवाबों:


99

ओपन रन / डिबग कॉन्फ़िगरेशन डायलॉग (विंडोज: रन> एडिट कॉन्फ़िगरेशन)

आप एप्लिकेशन संपादित करें > सामान्य> स्थापना विकल्प> झंडे स्थापित करें

स्थापित झंडे जोड़ें -r -t

इस झंडे का मतलब है adb install -r -t apkpath

screen pic


2
इस झंडे का मतलब है adb install -r -t apkpath, मुझे लगता है। @ TaseerAhmad
昊 '

21
-r"मौजूदा एप्लिकेशन को बदलें"। -t"टेस्ट पैकेज की अनुमति दें" का अर्थ है
डकब्रेन

1
यह आदमी कहां से आया और उसने इस समाधान के बारे में कैसे सोचा? उसे एक पदक दो!
0101100101

4
मेरे लिए काम नहीं कर रहा है! :( कृपया मेरी समस्या को देखें। यह
Arsalan Shah

3
सेटिंग है रन> संपादन विन्यास, अगर विंडोज़ संस्करण।
बीट्राइस लिन

17

आपको वरीयताएँ -> डिबगर में "उपयोग लिबास बैकेंड" को निष्क्रिय करने की आवश्यकता है यहाँ छवि विवरण दर्ज करें


केवल इस समाधान ने मदद की - Xubuntu 18.04
Raskilas

खिचड़ी भाषा का मानना ​​है कि यह काम किया! एंड्रॉइड स्टूडियो 3.5.1 एंड्रॉइड डिबग ब्रिज संस्करण 1.0.41 संस्करण 29.0.5-5949299
कबाब

1
आकर्षण की तरह काम करता है। महीनों तक इस समस्या से
जूझते

1
हे भगवान! इससे एक बड़ी समस्या हल हो गई है। स्वागत के रूप में महीनों तक इस समस्या से जूझते रहे .. वाह!
विवेक

1
OSx 10.15 पर मेरे लिए यह तय! धन्यवाद!
क्रिस.जेनकिंस

12

Android Studio में यह समस्या तब कम होती है API 26(Android 8)। यह के प्रतिस्थापन के कारण होता है InstantRun, जिसे अब ApplyChanges के रूप में जाना जाता है ।

लगता है कि अगले अद्यतन में इसे ठीक करने से पहले केवल दो तरीके हैं।

  1. पर चला API>=26
  2. कोड संपादन में हर परिवर्तन के बाद run configurationबदल रहा deployसे APKकरने के लिए App bundleऔर शिकंजा प्रतिकूल। अगर मैं सही ढंग से समझता हूं, तो यह ऐप और वर्कअराउंड बग को सही ढंग से बनाएगा।

बेशक, AndroidStudio से ऐप चलाने से पहले डिवाइस से ऐप को मैन्युअल रूप से हटाने का विकल्प है।


1
मेरे पास एंड्रॉइड 9.0 डिवाइस है और यह समस्या है। हालांकि, जब मैं एमुलेटर और फिर असली डिवाइस के बीच रनिंग टेस्ट को मिलाता हूं, तो ऐप और टेस्ट काफी बार चलने लगते हैं। मैं वास्तव में नहीं जानता कि क्यों लेकिन शायद यह किसी की मदद करेगा।
adek111

हो सकता है कि API26+अगर आप Apply changesइसके बजाय, क्लिक करें , तो आप सफलतापूर्वक ऐप पुन: चालू कर सकते हैं rerun? यह दाईं ओर नया बटन है rerun
मोहरा

6

मेरे लिए या तो ऐप को अनइंस्टॉल करना या प्रॉजेक्ट की सफाई करना समस्या को हल करता है। इसे कम निराशाजनक बनाने के लिए मैंने साफ-सुथरी नौकरी को इस तरह से डिबग करने के लिए जोड़ा:

buildTypes {
    ...
    debug {
        clean
    }
    ...
}

4

लागू परिवर्तन के संबंध में रिलीज़ नोट्स पढ़ने के बाद , मुझे अंत में यहाँ एक समाधान मिला: https://developer.android.com/studio/run#apply-changes-run-fallback

लागू परिवर्तन के लिए रन फ़ॉलबैक सक्षम करें

आपके द्वारा या तो लागू परिवर्तन और पुनः प्रारंभ गतिविधि पर क्लिक करने या कोड परिवर्तन लागू करने के बाद, Android Studio एक नया एपीके बनाता है और यह निर्धारित करता है कि क्या परिवर्तन लागू किए जा सकते हैं। यदि परिवर्तन लागू नहीं किए जा सकते हैं और यह लागू होने के परिवर्तनों को विफल कर देगा, तो एंड्रॉइड स्टूडियो आपको इसके बजाय रन ऐप आइकन को फिर से चलाने का संकेत देता है। हालाँकि, यदि आप ऐसा होने पर हर बार संकेत नहीं देना चाहते हैं, तो जब परिवर्तन लागू नहीं किया जा सकता है, तो आप अपने ऐप को स्वचालित रूप से पुन: चलाने के लिए एंड्रॉइड स्टूडियो को कॉन्फ़िगर कर सकते हैं।

इस व्यवहार को सक्षम करने के लिए, इन चरणों का पालन करें:

  1. सेटिंग्स या वरीयताएँ संवाद खोलें:
    • विंडोज या लिनक्स पर, मेनू बार से फ़ाइल> सेटिंग्स का चयन करें
    • MacOS पर, Android Studio> प्राथमिकताएं चुनें मेन्यू बार से चुनें।
  2. पर जाए निर्माण, निष्पादन, तैनाती> परिनियोजन
  3. को चुनिए परिवर्तन लागू करें क्रियाओं में से किसी एक के लिए स्वचालित रनबैकबैक सक्षम करने के लिए चेकबॉक्स का ।
  4. ओके पर क्लिक करें।

लिनक्स पर चल रहा स्क्रीनशॉट


1
मैंने ओएस को लिनक्स में बदल दिया है और एएस 3.5 वहां ठीक काम कर रहा है।
तासीर

4

Https://isuetracker.google.com/issues/139783379 पर Google टीम द्वारा बताए गए वंश OS के साथ एक समस्या है :

हम इसे वंशावली के साथ एक डिवाइस पर पुन: पेश करने में सक्षम हैं। यह पूरी तरह से एक सिस्टम कॉल का समर्थन नहीं करता है जो हम DeltaInstall के लिए उपयोग करते हैं।

कोई स्पष्ट समाधान नहीं है (एपीके बिल्ड फ़ोल्डर से एपीके को हटाने या एप्लिकेशन को अनइंस्टॉल करने के अलावा)।

हमें इसके लिए एक वर्कअराउंड होना चाहिए, लेकिन जैसा कि यह अभी खड़ा है, LineageOS में DeltaInstall नहीं होगा और हमेशा एक धीमी पूर्ण इंस्टॉल करने की आवश्यकता होगी।

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

संपादित करें:

यह एंड्रॉइड स्टूडियो 3.6 में तय किया गया है।

प्रतिक्रिया के लिए धन्यवाद। इसे 3.6 के नवीनतम संस्करणों में तय किया जाना चाहिए।


4

बिल्ड> क्लीन प्रोजेक्ट का काम मेरे लिए है। अन्य सेटिंग बदलने से पहले पहले यह प्रयास करें।

मुबारक कोडिंग :)


3

मुझे डिप्लॉय सिलेक्ट डिफॉल्ट एपीके में कोड एडिट रन रन कॉन्फ़िगरेशन में हल मिला और फ्लैग = -आर-टी इंस्टॉल करें और फिर रन के लिए अप्लाई करें। ऐप सभी डिवाइस और एमुलेटर में चलेगा। मैं ओपीपीओ 1 प्लस, सैमसंग टैब, एमुलेटर भी टेस्ट में था

कृपया विचार करें कि Android स्टूडियो में रन रन बटन के पास एडिट रन कॉन्फ़िगरेशन

संपादन ऐप> सामान्य ==> स्थापना विकल्प ==> झंडे स्थापित करें

झंडे स्थापित करें -r -t

-r का अर्थ है "मौजूदा एप्लिकेशन को बदलें"। -t का अर्थ है "परीक्षण पैकेजों की अनुमति दें"

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


2

मैं भी 3.5 करने के लिए उन्नयन के बाद एक ही समस्या हो रही है। मैं सोच रहा था कि क्या आपके पास किसी जुड़े डिवाइस के साथ काम करने के लिए कोई 'भाग्य' है?

अद्यतन: मैं "रन / डिबग कॉन्फ़िगरेशन" संवाद में इंस्टॉलेशन विकल्पों के तहत "ऐप बंडल से एपीके" सेटिंग द्वारा काम करने वाला था।


1

डिवाइस से ऐप को हटाने / अनइंस्टॉल करने से मेरे लिए समस्या ठीक हो गई।


मैंने एपीआई 29 एमुलेटर से ऐप को अनइंस्टॉल किया और इससे मदद मिली।
कूलमाइंड

1

नीचे दिए गए कॉन्फ़िगरेशन का उपयोग करके अपने एप को स्थापित / चलाने से पहले एक " स्वच्छ " ग्रेडल कार्य निर्भरता जोड़ें ।

project.afterEvaluate {
    android.applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def capitalizedVariant = variant.name.capitalize()
            def assembleVariantTask = project.tasks."assemble${capitalizedVariant}"
            assembleVariantTask.dependsOn clean
        }
    }
}

अपनी app/build.gradleफ़ाइल में कोड के ऊपर कॉपी और पेस्ट करें , यह सभी बिल्ड वेरिएंट के लिए काम करता है।

विशेष रूप से, उपरोक्त कोड नीचे के बराबर होगा यदि आपके पास केवल डीबग और रिलीज़ बिल्ड प्रकार हैं:

assembleDebug.dependsOn clean
assembleRelease.dependsOn clean

1

पुराने एप्लिकेशन को हटाने के लिए मेरे लिए क्या काम किया, फिर प्रोजेक्ट को फिर से शुरू करें। उस स्थिति में पुराना हस्ताक्षर प्रमाण पत्र परेशान नहीं करता है।


1

मुझे यह त्रुटि तब भी हुई जब मैंने असली xiaomi pocophone 1 पर एप्लिकेशन चलाया और एप्लिकेशन को पहले एमुलेटर पर चलाकर इस समस्या को हल किया, और फिर मेरे xiaomi pocophone 1 पर


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

विभिन्न निर्माणों जैसे 'आर्मेबी', 'x86', 'आर्मेबी-वी' ए ’, 'x86_64’ और 64 आर्म64-वी' ए ’के कारण, हमें बिल्ड अपग्रेड फ़ाइल में जोड़ना होगा।


0

आखिर में मुझे इसका हल मिल गया

बस सेट v2SigningEnabled सच

 signingConfigs {
    release {
        v2SigningEnabled true
    }
}

0

मुझे स्वयं समस्या का सामना नहीं करना पड़ा। हालाँकि, पहले हमें एंड्रॉइड स्टूडियो के इंस्टेंट रन के साथ कुछ समस्याएं थीं। मैं आपके एंड्रॉइड स्टूडियो में निम्नलिखित सेटिंग्स की जांच करने का सुझाव देना चाहता हूं और यदि आपका कोड अभी काम करता है, तो यह जांचने के लिए सेटिंग्स को अनचेक करें।

पर जाएं Android Studio -> Preferenceऔर फिर सही का निशान के अंतर्गत निम्नलिखित Deployments

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

यहां इस बारे में एंड्रॉइड स्टूडियो 3.5 में नया क्या है जो आपको फीचर को बेहतर ढंग से समझने में मदद करेगा।

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


0

कमांड "एडीबी डिवाइस" को चलाने की कोशिश करें, यदि आउटपुट खाली है, तो डिवाइस को फिर से कनेक्ट करें। इसने मुझे उसी त्रुटि के साथ मदद की। एंड्रॉइड स्टूडियो 3.5 यह निर्धारित नहीं करता है कि डिवाइस डिस्कनेक्ट हो गया है।


0

मैंने एमुलेटर से ऐप को अनइंस्टॉल कर दिया, भाग गया और सब कुछ सामान्य हो गया



0

मैंने एप्लिकेशन को फिर से स्थापित करने के लिए हथौड़ा आइकन दबाया। तो मुझे नहीं पता? पूरे Android हैक नौकरी मंच बेकार है।

वह सब पैसा जो अभी तक google अपने स्वयं के सच्चे ऑपरेटिंग सिस्टम के साथ आने के लिए प्रोग्रामर को अच्छी तरह से काम पर नहीं रख सकता है या नहीं पा सकता है।


0

मुझे भी इसी मुद्दे का सामना करना पड़ा, मैंने निम्नलिखित चरणों का पालन किया 1) स्वच्छ परियोजना 2) पुनर्निर्माण परियोजना

इससे मेरी समस्या हल हो गई


0

मेरे मामले में, मैं उपरोक्त सभी उत्तरों के साथ हल नहीं कर सकता हूं ताकि मुझे दूसरा रास्ता मिल जाए। अंत में, मैंने इसका हल ढूंढ लिया। बस फोन के सही ड्राइवरों का पता लगाएं। मेरा विकास फोन सैमसंग गैलेक्सी नोट 2 (MODEL: GT-N7105 / Android 4.1.2) है । मैं अपना समाधान साझा करता हूं कि मैंने इसे कैसे हल किया। आशा है कि अपना समय बचाओ।


0

समस्या तब होती है जब आप एक नए मॉड्यूल का परीक्षण कर रहे हैं। सबसे पहले, आप इसे व्यक्तिगत रूप से लिखते हैं, और फिर इसे मुख्य ऐप में जोड़ते हैं। जब आप इसे मुख्य ऐप में जोड़ते हैं, तो अपने फ़ोन से अपने "test_app" को हटा दें।


0

रन -> कॉन्फ़िगरेशन संपादित करें -> झंडे स्थापित करें: -r -t -> लागू करें -> ठीक है


0

मेरे मामले में, यह केवल एपीके हस्ताक्षर सत्यापन को अक्षम करके काम करता है:

$ adb shell settings put global verifier_verify_adb_installs 0

और -r -tऊपर उल्लिखित झंडे का उपयोग करना


0

यह अभी भी मेरे मैक ओएस पर है, जब मुझे नया असली डिवाइस मिलता है और एंड्रॉइड स्टूडियो 3.5 से एपीके इंस्टॉल करें - और मुझे लगता है कि यह कैसे ठीक करता है - स्टूडियो में टर्मिनल खोलें और उसका अनुसरण करें:

cd app/build/outputs/apk/debug
adb install -r -t your_app_name.apk

और इसे प्रत्येक प्रोजेक्ट और प्रत्येक डिवाइस के साथ करने की आवश्यकता है !!

संपादित:

मैंने अंततः स्थापित किया

एंड्रॉइड स्टूडियो 3.6 कैनरी

  • यह 3.5 से अधिक कार्यशील संस्करण है

लेकिन स्टिल को स्थापित झंडे में जोड़ने की आवश्यकता है -r -t


हमें 'स्थिर ’3.6 के रिलीज होने का इंतजार करना होगा।
तासीर

0

मुझे यह समस्या कुछ मिनट पहले मिली थी जब मैंने अपना ऐप असली डिवाइस पर चलाने की कोशिश की थी और इसे पूरा करने से पहले ग्रेडल बिल्ड को रोक दिया था। मैंने अभी क्या किया डिवाइस पर ऐप को अनइंस्टॉल करना था और एवीडी और वास्तविक डिवाइस (एक साथ) पर ऐप को फिर से चलाना और यह काम किया। आशा है कि यह आपके लिए भी काम करेगा


0

मुख्य समाधान

  1. फ़ाइल -> सेटिंग्स -> निर्माण, निष्पादन, तैनाती -> डिबगर > अक्षम करेंUse libusb backend

  2. ग्रेड (आईडीई के दाईं ओर फ्लैप) -> एंड्रॉइड -> ऐप -> कार्य -> ​​इंस्टॉल -> अनइंस्टॉल करें या आप इसे निम्न तरीके से कंसोल द्वारा भी कर सकते हैं:

    $ ./gradlew uninstallAll



अन्य सुझाव:

  • हटाएं और एप्लिकेशन को फिर से रन / डिबग कॉन्फ़िगरेशन में बनाएं

    • स्थापना विकल्प -> सभी उपयोगकर्ताओं के लिए जाँच स्थापित करें
  • रन / डिबग कॉन्फ़िगरेशन -> लॉन्च विकल्प> लॉन्च: निर्दिष्ट गतिविधि> एक गतिविधि चुनें

  • एक अन्य भौतिक उपकरण, आईडीई या पीसी के संस्करण का उपयोग करके ऐप इंस्टॉल करें

  • IDE को पुनर्स्थापित करें और हटाएं .android

  • मुख्य समाधान के साथ पुन: प्रयास करें


यदि आप एप्लिकेशन को स्थापित करना और खोलना चाहते हैं तो आप निम्नलिखित कमांड के साथ अदब का उपयोग कर सकते हैं:

$ adb install -r -t absolute-path.apk

$ adb shell am start -n "com.package.flavor.env/.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER

जीएल

स्रोत


-1

एंड्रॉइड को चेंज करने का प्रयास करें: appComponentFactory=""से android:appComponentFactory="new", "new"कोई भी शब्द हो सकता है


-2

अंत में, मुझे इंस्टॉलेशन विकल्प DEPLOY -> में कोड एडिट रन रन कॉन्फ़िगरेशन को सलेक्ट किया गया था चुनिंदा 4th ऑप्शन से -> (कुछ नहीं) ऑप्शन -> अप्लाई करें और ऐप एंड्रॉइड स्टूडियो 3.5 में ठीक से काम करता है। मोबाइल और एमुलेटर में भी। Android संस्करण 9 में भी यह ठीक से काम करता है। यह एक स्थायी समाधान है।

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