Android ऐप इंस्टॉल नहीं। एक विरोधी नाम के साथ एक मौजूदा पैकेज पहले से ही स्थापित है


131

अपने एमुलेटर में, जब मैं अपने एपीके को प्रोग्रामेटिक रूप से अपग्रेड करने की कोशिश करता हूं। मुझे मिला:

Android App Not Install.

An existing package by the same name with a conflicting signature is already installed

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

मैं अभी भी इस उन्नयन के परीक्षण के चरण में हूं, इसलिए मैं जो फ़ाइल डाउनलोड करता हूं वह पिछले संस्करण का एक हस्ताक्षरित एपीके है, जो मुझे लगता है कि बिना किसी समस्या के काम करना चाहिए।

सुझाव में: एक मौजूदा नाम के साथ एक गोपनीय हस्ताक्षर के साथ एक मौजूदा पैकेज पहले से ही स्थापित है मैंने डिबग मोड और सामान्य मोड दोनों में एमुलेटर चलाने की कोशिश की ... न तो काम किया।

मैं क्या याद कर रहा हूँ पर कोई विचार?


1
इंस्टॉल करने से पहले एपीके साइन करने के लिए एक ही हस्ताक्षर का उपयोग करें
प्रवीण शर्मा

यह समस्या हस्ताक्षर या की-स्टोर फ़ाइल बेमेल के कारण उत्पन्न होती है जो समाधान के लिए लिंक ढूंढती है
तैयार Android

जवाबों:


97

समस्या उन कुंजियों की है जिनका उपयोग APK पर हस्ताक्षर करने के लिए किया गया है, यदि आप अपनी IDE से सीधे चल रहे हैं और अपना एमुलेटर खोल रहे हैं, तो एमुलेटर में स्थापित APK को आपकी डिबग-की (आमतौर पर ~ / .android में स्थापित) के साथ हस्ताक्षरित किया गया है। /debug.keystore), इसलिए यदि पिछले एपीके को आपके द्वारा वर्तमान में उपयोग किए जा रहे के अलावा किसी अन्य कुंजी के साथ हस्ताक्षरित किया गया था, तो आपको हस्ताक्षर संघर्ष हमेशा प्राप्त होंगे, इसे ठीक करने के लिए, सुनिश्चित करें कि आप साइन इन करने के लिए एक ही कुंजी का उपयोग कर रहे हैं दोनों एपीके, भले ही पिछले एपीके को दूसरे एसडीके से डिबग-की के साथ साइन किया गया हो, चाबियाँ निश्चित रूप से अलग होंगी।

अगर आपको पता नहीं है कि एपीके पर हस्ताक्षर करने से पहले किस कुंजी का उपयोग किया गया था और फिर भी आप अपने ऐप के नए संस्करण को स्थापित करना चाहते हैं, तो आप बस पिछले एप्लिकेशन को अनइंस्टॉल कर सकते हैं और नए को पुनर्स्थापित कर सकते हैं।

उम्मीद है की यह मदद करेगा...

सादर!


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

@MartinCazares वैसे भी APK कुंजी प्राप्त करने के लिए है? इसलिए मैं अपना ऐप डेटा नहीं खोता?
हाइजेनबर्ग

ठीक है, यदि आप ऐप इंस्टॉल करते हैं, तो आपके पास कुंजी होनी चाहिए, अन्य कैसे आप एपीके पर हस्ताक्षर करेंगे? यदि पिछली एपीके आपके द्वारा नहीं बनाई गई थी, तो आपको कुंजी के लिए उस एपीके के डेवलपर से पूछने की आवश्यकता है, इसके अलावा अन्य कुंजी को प्राप्त करने का कोई तरीका नहीं है जो एक एपीके को साइन करने के लिए उपयोग किया गया था ...
मार्टिन कैज़रेस

इसके लिए बहुत बहुत धन्यवाद! आपने मेरा दिन और मेरी टीम को बचा लिया! Haha
पेरोजो

1
मेरे पास playstore में LIVE में एक एप्लिकेशन है, अब मैंने उस ऐप को टेस्टिंग डिवाइस में इंस्टॉल कर रखा है और अब ऐप के नए संस्करण को अपडेट करने के लिए मैं "buildno" और "versionname" ऐप ऐप बिल्ड में अपडेट कर रहा हूं। अब मैंने हस्ताक्षरित कुंजी के साथ एक रिलीज़ बिल्ड बना लिया है, अब एक त्रुटि के माध्यम से उस बिल्ड को स्थापित करने का प्रयास करते हुए ::: एक विरोधाभासी हस्ताक्षर के साथ एक ही नाम से एक मौजूदा pacakage पहले से स्थापित है। और स्थापित भी नहीं हो रही है। कृप्या सहायता करे ।
तरित रे

195

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

समाधान: मुझे स्वामी के रूप में लॉगिन करना था और सेटिंग -> एप्स में जाना था, फिर ऑल टैब पर स्वाइप करना था। सूची के बहुत अंत तक स्क्रॉल करें जहां पुराने संस्करणों को एक चिह्न 'स्थापित नहीं' के साथ सूचीबद्ध किया गया है। इसे चुनें और ऊपरी दाएं कोने में 'सेटिंग' बटन दबाएं और अंत में 'सभी उपयोगकर्ताओं के लिए स्थापना रद्द करें'


2
मुझे "डाउनलोड" से "ऑल" सूची में स्वाइप करने के लिए इसे एप्स सूची में ढूंढना था।
ShawnFeatherly

1
जैसा कि आप उल्लेख करते हैं, सुनिश्चित करें कि आप नीचे तक सभी तरह से स्क्रॉल करते हैं - "स्थापित नहीं" एप्लिकेशन वर्णमाला के क्रम में सूचीबद्ध नहीं हैं ।
jmcmann

3
धन्यवाद!!! मेरे दोस्त नेक्सस 7 को टेस्ट देने के बाद यह भी मेरी समस्या थी। सोचा था कि मेरी कुंजियाँ दूषित हो गईं ... मैंने उस उपयोगकर्ता को केवल भविष्य की उलझन को कम करने के लिए हटा दिया।
mm2001

1
मेरा समय बचाया। कुडोस।
पीयूष पटेल

2
धन्यवाद। मुझे सभी उपयोगकर्ताओं में लॉगिन करना था और 1 से 1 की स्थापना रद्द करनी थी।
रिकार्डो

8
 Go to Settings > Apps, find and open the app info. Then, open the overflow menu (3 vertical dots), and choose Uninstall for all users.

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

सेटिंग> ऐप्स पर जाएं, ऐप की जानकारी ढूंढें और खोलें। फिर, अतिप्रवाह मेनू (3 ऊर्ध्वाधर डॉट्स) खोलें, और सभी उपयोगकर्ताओं के लिए स्थापना रद्द करें चुनें।


इससे मुझे मदद मिली - धन्यवाद। किसी कारण से मेरे पास मेरे ऐप का दो संस्करण था जो कि मेरी होम स्क्रीन के माध्यम से इसे हटाने के बाद भी दिखाई दे रहा था।
जोरू तेनेव

थैंक्स जोरो टेनेव वोटिंग मी
केशव गेरा

6

यदि आप कीस्टोर फ़ाइल के साथ परेशान नहीं करना चाहते हैं, तो सभी उपयोगकर्ताओं के लिए पैकेज को पूरी तरह से हटा दें।

अपने डिवाइस को मैक / पीसी से कनेक्ट करें और चलाएं adb uninstall <package>

मेरे लिए काम किया।

Ref: /android/92025/how-to-completely-uninstall-an-app-on-android-lollipop


5

हस्ताक्षरित और अहस्ताक्षरित एपीके फ़ाइलों के बीच अंतर है। सबसे अधिक संभावना है कि आपने पहले वहां एक अहस्ताक्षरित किया था। हस्ताक्षरित संस्करण को स्थापित करने से पहले आपको केवल अहस्ताक्षरित को हटाना होगा। यह कैसे पूरा किया जा सकता है, यह सटीक संस्करण पर भिन्न होता है, लेकिन सामान्य तौर पर, एमुलेटर पर जाकर सेटिंग-> एप्लिकेशन, लॉन्ग अपने ऐप पर क्लिक करें और इसे हटा / हटा / अनइंस्टॉल करें।


मैं एक अहस्ताक्षरित APK बनाऊंगा और अहस्ताक्षरित एपीके डाउनलोड करूंगा और देखूंगा कि क्या वह इसे हल करता है, यदि ऐसा होता है तो मैं हार्डवेयर के साथ हस्ताक्षरित एप का परीक्षण कर सकता हूं। अगर यह मामला है तो मैं इसका जवाब दूंगा।
जेम्स ओर्वेक

मैं अपने प्रोग्राम के भीतर से अपग्रेड करने की कोशिश कर रहा हूं, इसलिए मैनुअल अनइंस्टॉल करना / इंस्टॉल करना काम नहीं करेगा।
जेम्स ओर्वेक

जब मैंने अहस्ताक्षरित एप्लिकेशन इंस्टॉल किया तो मुझे बस मिल गया app not installed। मैंने एमुलेटर सेटिंग्स को Allow installation of apps from unknown sourcesचेक किया और इसे चेक किया। तो यह समाधान नहीं लगता है।
जेम्स ओर्वेक

आप सुझावों के लिए एक वोट दे। मुझे लगता है कि इससे हमें अंतिम समाधान निकालने में मदद मिली। धन्यवाद!
जेम्स ओर्वेक

5

यदि आप डीबग एपीके का उपयोग कर रहे हैं, तो कुंजी जो इसे साइन करने के लिए उपयोग की जाती है

C:\Users\<user>\.android\debug.keystore

यदि आप उसी कुंजी का उपयोग करते हैं, तो स्थापित करते समय संघर्ष नहीं होना चाहिए।


बहुत बहुत धन्यवाद सैंटियागो, पिछले दिन मैंने अपनी मशीन हार्ड ड्राइव को मैकेनिकल ड्राइव से सॉलिड स्टेट ड्राइव में बदल दिया, इसलिए मुझे अपने विंडोज को अपग्रेड करने की आवश्यकता है, मैं उसी मुद्दे का सामना कर रहा था, फिर मैंने पिछले विंडोज़ फ़ोल्डर से debug.keystore फ़ाइल को नए में कॉपी किया विंडोज़ फ़ोल्डर समस्या का समाधान हो जाता है :)
अर्सलान सोहेल

उत्तर के लिए धन्यवाद, क्योंकि यह वास्तव में मेरी समस्या को हल करता है, मैं एक दोस्त के साथ प्रोग्रामिंग कर रहा हूं और हमें अक्सर यह समस्या थी, अब जब हम डिबग कुंजी साझा कर रहे हैं, तो सब कुछ ठीक है।
गुस्तावो मगलाहेस

5

यदि उपरोक्त समाधान आपके लिए काम नहीं करते हैं, तो आप निम्नलिखित के रूप में कुछ कर सकते हैं।

1) ऐपस्टोर से ऐप इंस्टॉल करना।
2) एक ही पैकेज नाम अद्यतन संस्करण के साथ साइन एपीके के साथ इसे अपडेट करना।

तो मूल रूप से एपीके के दो प्रकार हैं।

1) आप मूल APK के रूप में जाना playstore पर अपलोड किया।
2) प्लेस्टोर से डाउनलोड किया जाता है जिसे व्युत्पन्न एपीके कहा जाता है।

इस मामले में मूल रूप से आप व्युत्पन्न एपीके डाउनलोड कर रहे हैं और इसे मूल एपीके के साथ अपडेट कर रहे हैं।

इसे ठीक करने के लिए Google Play Store पर आंतरिक परीक्षण मोड में नए हस्ताक्षरित रिलीज़ किए गए ठीक से अपलोड किए गए APK को अपडेट परिदृश्य की जांच करने के लिए व्युत्पन्न एपीके डाउनलोड करें।

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


2

यदि आप एंड्रॉइड पर कई उपयोगकर्ताओं का उपयोग करते हैं, तो सत्यापित करें कि ऐप हर जगह अनइंस्टॉल है।


ऊपर दिए गए लोकप्रिय उत्तर stackoverflow.com/a/20084044/4136325 के समान है , क्या आपको नहीं लगता?
थॉमस वेलर

1
हाँ, यह चाल है - सभी उपयोगकर्ताओं के लिए ऐप की स्थापना रद्द
मार्टिन कौबेक

1

मेरे पास एक मुद्दा था जहां डिबग और रिलीज़ बिल्ड दोनों उन डिवाइसों पर स्थापित नहीं होंगे जिन्हें मैंने डीबगिंग के लिए उपयोग किया था। नया संस्करण स्थापित करने का प्रयास करते समय वही संदेश दिखाई देगा। वर्तमान संस्करण की स्थापना रद्द करने और नया स्थापित करने के लिए एकमात्र समाधान था।

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


1

यह हो सकता है आवेदन सफल स्थापना रद्द नहीं है। यदि आपका डिवाइस यह मामला है, तो आप इस विधि को आजमा सकते हैं।

सबसे पहले एप्लिकेशन के पैकेज का नाम प्राप्त करें, जैसे 'com.xxx.app', आप रूट एक्सप्लोरर का उपयोग कर सकते हैं और इसे मेनिफेस्ट फ़ाइल (आरई फाइल को डीकोड कर सकते हैं) से पा सकते हैं। तब आप इस स्क्रिप्ट का उपयोग इसे अनइंस्टॉल करने के लिए कर सकते हैं:

adb shell pm uninstall com.xxx.app // replace to package name that you want to remove

1

एक ही पैकेज त्रुटि:

  1. अपने ऐप में अलग-अलग नाम से एक नया पैकेज बनाएं।
  2. अपने पुराने पैकेज की सभी फ़ाइल को नए पैकेज में कॉपी और पेस्ट करें।
  3. कोड सहेजें।
  4. पुराने पैकेज और क्लीन को हटा दें और प्रोजेक्ट का पुनर्निर्माण करें।

1. बहुत / छोटा 3. 3. उपयोग कर सकता है 5. स्पष्टीकरण।
यूननोस्च

1

यहाँ छवि विवरण दर्ज करेंमुझे मालिक के रूप में लॉगिन करना था और सेटिंग -> एप्स में जाना था, फिर ऑल टैब पर स्वाइप करना था। सूची के बहुत अंत तक स्क्रॉल करें जहां पुराने संस्करणों को एक चिह्न 'स्थापित नहीं' के साथ सूचीबद्ध किया गया है। इसे चुनें और ऊपरी दाएं कोने में 'सेटिंग' बटन दबाएं और अंत में 'सभी उपयोगकर्ताओं के लिए स्थापना रद्द करें'


यह मेरे लिए काम करता है, लेकिन ... अब जब मेरी वेबसाइट से डाउनलोड किया जाता है, तो ऐप डाउनलोड नहीं होता है (कम से कम डाउनलोड फ़ोल्डर में)। कोई त्रुटि नहीं बताई गई। बस नहीं होता है। जब मैं अपने फोन को अपने कंप्यूटर में प्लग करता हूं तो मैं एपीके को फोन में कॉपी कर सकता हूं और रिपोर्ट की गई कोई भी त्रुटि नहीं है।
रॉन

0

एक और कारण हो सकता है जब AndroidManifiest में शेयरआईडी को बदलने या जोड़ने / हटाने पर आपका एप्लिकेशन अपडेट नहीं होगा।

"एंड्रॉयड: sharedUserId"

कृपया यह भी देखें।

रोकने के लिए अपने वर्तमान आवश्यकता या अभी की आवश्यकता के बावजूद अपने आवेदन में साझायूजरआईड का उपयोग करने की सिफारिश करेंगे।


0

मैंने उपरोक्त सभी की कोशिश की और यह काम नहीं किया।

मैंने पाया कि ऐप को अनइंस्टॉल करने के बावजूद ऐप का नया संस्करण अभी भी वही त्रुटि देता है।

यह वही है जो इसे हल करता है: सेटिंग्स पर जाएं -> सामान्य -> ​​एप्लिकेशन मैनेजर -> अपना ऐप चुनें -> शीर्ष पर तीन डॉट्स पर क्लिक करें -> सभी उपयोगकर्ताओं के लिए स्थापना रद्द करें

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

उम्मीद है की यह मदद करेगा।

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