असफलता [INSTALL_FAILED_ALREADY_EXISTS] जब मैंने अपने एप्लिकेशन को अपडेट करने का प्रयास किया


388

जब मैंने नए संस्करण के साथ अपनी प्रशंसा को अपडेट करने का प्रयास किया, जिसमें पिछले एक के समान हस्ताक्षर हैं, तो त्रुटि के ऊपर दिखाया गया है।

मुझे क्या याद आ रहा है?

जवाबों:


756

यदि आप अपने डिवाइस पर एप्लिकेशन इंस्टॉल करते हैं, तो आपको adb installपुनर्स्थापना विकल्प की तलाश करनी चाहिए जो कि होना चाहिए -r। इसलिए यदि आप करते हैं तो adb install -rआपको पहले अनइंस्टॉल किए बिना स्थापित करने में सक्षम होना चाहिए।


1
adb install -rहमेशा काम नहीं करता है (मुझे स्प्रिंट से ईवीओ 4 जी मिला है जो उम्मीद के मुताबिक व्यवहार करने से इनकार करता है)। मेरे आस-पास का एकमात्र कार्य मैन्युअल रूप से एप्लिकेशन को निकालना है। कभी-कभी, मुझे इसे फोन के UI के माध्यम से भी करना पड़ता है क्योंकि EVO बहुत मनमौजी है।
jww

21
मैं यहां आया था क्योंकि मैं जानना चाहता था कि क्या adb install -rपहले हटाएंगे और फिर अपने ऐप को इंस्टॉल या अपग्रेड करेंगे। हालाँकि adbयह विवरण बहुत स्पष्ट नहीं है ( -r: मौजूदा एप्लिकेशन को बदलें ), adb install -rवास्तव में आपके ऐप को अपग्रेड करता है और आपके ऐप के डेटा को नहीं हटाता है। इसलिए अपने ऐप को अपग्रेड करने के लिए उपयुक्त है (जो जानकारी मैं ढूंढ रहा था)।
थिबॉल्ट डी।

8
दावा करने वाले लोगों के लिए adb install -rकाम नहीं करता है: मुझे लगता है कि .apkआप जिस फ़ाइल को स्थापित करने का प्रयास कर रहे हैं, उसी डेवलपर प्रमाणपत्र के साथ हस्ताक्षरित नहीं किया गया था क्योंकि .apkफ़ाइल डिवाइस पर स्थापित है। आसानी से होता है यदि आपने डिबग एप्लिकेशन इंस्टॉल किया है और फिर रिलीज़ ऐप या अन्य तरीके से इंस्टॉल करने का प्रयास कर रहे हैं। यदि आप उसी प्रमाणपत्र के साथ हस्ताक्षरित नहीं हैं तो आप किसी एप्लिकेशन को अपडेट नहीं कर सकते।
थिबॉल्ट डी।

1
यदि आप कई खातों का उपयोग करते हैं, तो आपको सभी खातों से अनइंस्टॉल करना पड़ सकता है (ग्रेग का जवाब देखें)। मैंने ऐसा करने के बाद यह काम किया।
JD सैंडिफ़ेर

काम नहीं करता है, मेरा ऐप एक सिस्टम ऐप है, और यह मेरे मुद्दे को हल नहीं कर रहा है: /
htafoya

11

आपको वह त्रुटि मिल रही है क्योंकि आपके नाम के समान पैकेज नाम वाला एक आवेदन पहले से मौजूद है। यदि आप सुनिश्चित हैं कि आपने पहले एक ही एप्लिकेशन इंस्टॉल नहीं किया है, तो पैकेज का नाम बदलें और कोशिश करें।

और बुद्धिमान, यहाँ आप क्या कर सकते हैं:

  1. डिवाइस से एप्लिकेशन को अनइंस्टॉल करें: सेटिंग्स पर जाएं -> एप्लिकेशन प्रबंधित करें और अनइंस्टॉल करें या चुनें
  2. Adb कमांड लाइन इंटरफ़ेस का उपयोग करके ऐप को अनइंस्टॉल करें: adb अनइंस्टॉल करें इस चरण के साथ करने के बाद, एप्लिकेशन को फिर से इंस्टॉल करने का प्रयास करें।

मेरा ऐप मेनू, या ऐप स्टोर के नीचे नहीं आ रहा था - लेकिन इसे मुहम्मद की युक्तियों के लिए धन्यवाद मिला।
डेविड 14

2
यह एक अच्छा समाधान नहीं है। क्या होगा अगर आपके पास ऐप में सहेजे गए शेयर्डप्रिफ़ की तरह राज्य का एक गुच्छा है? यदि आप सिस्टम से हार्ड अनइंस्टॉल करते हैं, तो आपको अपने ऐप को फिर से कॉन्फ़िगर करना होगा!
इगोरगानापोलस्की

यह समाधान मैं जरूरी था adb uninstall my.package। अजीब तरह से, यह उन प्रीफ़्स को अनइंस्टॉल नहीं करता था जिन्हें मैं हटाता था, लेकिन इसने पैकेज से छुटकारा पा लिया, जो कि वह चीज थी जो मुझे इसे पुनः स्थापित करने से रोक रही थी।
जेएमडी

6

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


यह मेरी सटीक समस्या थी! की स्थापना रद्द करने की कोशिश कर रहा है - दोनों अदब और मैन्युअल रूप से, लेकिन adb install <package.apk>ऐप की सूची में ऐप दिखाई नहीं देने के बावजूद विफल रहा। यह मेरे डिवाइस पर अन्य खाते पर अभी भी वहाँ था ... धन्यवाद!
जेडी सैंडिफ़ेर

यह भी मेरे लिए तय की। सभी उपयोगकर्ताओं के लिए अनइंस्टॉल करने के लिए एक डिवाइस पर जानकारी के लिए मुझे सेटिंग्स> एप्स पर जाना होगा, एप को टैप करें, दाईं ओर सबसे ऊपर आइलिप्स पर टैप करें और सभी यूजर्स के लिए अनइंस्टॉल पर टैप करें।
d219

3

स्थापित करने के लिए

adb install -r exampleApp.apk

( -rयह मौजूदा प्रतिलिपि को प्रतिस्थापित करता है, -sअगर एक एमुलेटर पर स्थापित करना जोड़ें )

सुनिश्चित करें कि ऐप एक ही हस्ताक्षरित है और एक ही debug/releaseसंस्करण है

बक्शीश

मैं अपने में एक उपनाम की स्थापना की ~/.bash_profileहै कि यह एक 2char आदेश बनाने के लिए,।

alias bi="gradlew && adb install -r exampleApp.apk"

(बिल्ड और इंस्टॉल के लिए लघु)


0

अगर आपको अभी भी समस्या का सामना करना पड़ रहा है, तो कमांड प्रॉम्प्ट का उपयोग करके एप्लिकेशन को अनइंस्टॉल करने का प्रयास करें। बस कमांड जोड़ें adb uninstall com.example.yourpackagename फिर पुन: स्थापित करने का प्रयास करें। यह काम करता है!


0

अपने एंड्रॉइड 5 टैबलेट के साथ, हर बार जब मैं एडीबी का उपयोग करने का प्रयास करता हूं, तो एक हस्ताक्षरित रिलीज़ APK स्थापित करने के लिए, मुझे [INSTALL_FAILED_ALREADY_EXISTS]त्रुटि मिलती है ।

मुझे पहले डिबग पैकेज की स्थापना रद्द करनी होगी। लेकिन, मैं डिवाइस के एप्लिकेशन मैनेजर का उपयोग करके स्थापना रद्द नहीं कर सकता !

यदि मैं एप्लिकेशन मैनेजर के साथ डिबग संस्करण की स्थापना रद्द करता हूं, तो मुझे एंड्रॉइड स्टूडियो से डिबग बिल्ड संस्करण को फिर से चलाना होगा, फिर उपयोग करके स्थापना रद्द करेंadb uninstall com.example.mypackagename

अंत में, मैं adb install myApp.apkहस्ताक्षरित रिलीज़ APK को स्थापित करने के लिए उपयोग कर सकता हूं ।

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