ग्रहण Android प्लगइन्स में "डीबग प्रमाणपत्र समाप्त हो गया" त्रुटि


1898

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

[2010-02-03 10:31:14 - androidVNC]Error generating final archive:
Debug certificate expired on 1/30/10 2:35 PM!

मैं इसे कैसे ठीक करूं?


8
क्या कोई बता सकता है कि ऐसा क्यों होता है?
मैट्रिक

2
क्या आपकी प्रणाली की तारीख बदल गई है, इसके 25 साल के वैध प्रमाण पत्र (जैसा कि आवेदन पर हस्ताक्षर करते समय अनुशंसित)। विशेष रूप से 5 वर्ष से अधिक पुरानी घटना नहीं है
त्रिकालदर्शी 3

आपको नया की
-स्टोर

जवाबों:


2241

के तहत अपने डिबग प्रमाणपत्र हटाएं ~/.android/debug.keystoreपर लिनक्स और मैक ओएस एक्स ; निर्देशिका विंडोज%USERPROFILE%/.android पर कुछ इस तरह है ।

जब आप अगली बार डिबग पैकेज बनाने का प्रयास करते हैं, तब ग्रहण प्लगइन को एक नया प्रमाणपत्र तैयार करना चाहिए। आपको प्रमाणपत्र बनाने के लिए साफ करने और फिर निर्माण करने की आवश्यकता हो सकती है।


13
विंडोज पर मुझे debug.keystore को हटाना पड़ा और एक नया संकलन प्राप्त करने के लिए कुछ बदलाव करने पड़े। मैंने एक नया परीक्षण प्रोजेक्ट बनाया, और नया डीबग.स्टायस्टोर उत्पन्न किया गया।
टॉमस

117
यदि आप प्रोजेक्ट को 'क्लीन' करते हैं (प्रोजेक्ट -> क्लीन ...)
adamnfish

11
अब एक बग ट्रैकर मुद्दा है जो इसे ठीक करने का अनुरोध करता है। कृपया इसके लिए मतदान करें। code.google.com/p/android/issues/detail?id=15370
मैनफ़्रेड मोजर

61
क्लीन ने मेरे लिए समस्या को ठीक नहीं किया, मुझे हाथ से rm ~ / .android / debug.keystore की आवश्यकता थी।
जेम्स मूर

3
@James को हाथ से हटाकर ऊपर दिए गए जवाब का पहला भाग है। प्रोजेक्ट को साफ करना (या पुनर्निर्माण) वह है जो आपको एक नया कीस्टोर उत्पन्न करने के लिए करने की आवश्यकता है।
क्रिस्टोफर ओर

334

इंस्टॉलेशन होने पर, एंड्रॉइड एसडीके debugआपके लिए कीस्टॉर नामक एक हस्ताक्षर प्रमाणपत्र बनाता है debug.keystore। एक्लिप्स प्लग-इन उत्पन्न होने वाले प्रत्येक एप्लिकेशन को साइन करने के लिए इस प्रमाणपत्र का उपयोग करता है।

दुर्भाग्य से एक डिबग प्रमाणपत्र केवल 365 दिनों के लिए मान्य है। एक नया उत्पन्न करने के लिए आपको मौजूदा debug.keystoreफ़ाइल को हटाना होगा । इसका स्थान प्लेटफ़ॉर्म पर निर्भर है - आप इसे वरीयताएँ - Android - बिल्ड - डिफ़ॉल्ट डिबग कीस्टोर में पा सकते हैं ।


23
30 अप्रैल 2011 को डिफ़ॉल्ट 30 साल बनाने के लिए एक बदलाव स्वीकार किया गया था: review.source.android.com/#change,22128
जेम्स मूर

यदि आप अपना debug.keystore हटाते हैं, तो आप अपने एप्लिकेशन को कैसे अपडेट करेंगे?
user739375

6
@ user739375, debug.keystore का उपयोग केवल डीबगिंग के लिए किया जाता है, "उत्पादन" के लिए एक अलग प्रमाणपत्र का उपयोग किया जाता है।
टेओ क्लेस्ट्रुप रोइज्जन

@JamesMoore मैं वास्तव में हैरान था कि प्रमाण पत्र कितना पुराना था
त्रिकालदर्शी

254

यह आपके सभी विकास .apk फ़ाइलों को हटाने के लिए एक दर्द है, क्योंकि नया प्रमाणपत्र मेल नहीं खाता है इसलिए आप उन्हें अपने सभी AVDs में अपग्रेड नहीं कर सकते हैं। आपको एक और विकास MAP-API कुंजी भी प्राप्त करनी होगी। एक और उपाय है।

आप debug.keystoreजो चाहें समाप्ति के साथ अपना स्वयं का डिबग प्रमाणपत्र बना सकते हैं। .androidअपनी HOMEनिर्देशिका के अंतर्गत फ़ोल्डर में ऐसा करें :

keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 14000

keytool.exeJDK बिन फ़ोल्डर (जैसे C:\Program Files\Java\jdk1.6.0_31\bin\विंडोज पर) में पाया जा सकता है ।

ADT प्रमाणपत्र पर पहला और अंतिम नाम "एंड्रॉइड डीबग", "एंड्रॉइड" के रूप में संगठनात्मक इकाई और "यूएस" के रूप में दो-अक्षर देश कोड सेट करता है। आप संगठन, शहर और राज्य मूल्यों को "अज्ञात" के रूप में छोड़ सकते हैं। यह उदाहरण 14000 दिनों की वैधता का उपयोग करता है। आप जो चाहें उसका उपयोग कर सकते हैं।


3
मुझे यह पसंद है क्योंकि यह एसडीके को निष्कासित प्रमाणपत्र को संभालने के लिए एक बेहतर तरीका प्रदान करता है जब तक कि एक अधिक दीर्घकालिक फिक्स प्रदान करता है।
सीन ऐटकेन

23
मुझे यह पसंद है क्योंकि मुझे ग्रहण का उपयोग करने की आवश्यकता नहीं है।
मटका

मैं मान रहा हूं कि यह कमांड लाइन के तहत टाइप किया जाना है। यदि ऐसा है, तो मुझे "keytool पहचाना नहीं गया" त्रुटि मिलती है। क्या आप आगे इस विधि की व्याख्या कर सकते हैं?
टेड बेट्ज़

1
keytool आपके JDK के बिन डायरेक्टरी (किसी भी OS) में पाया जा सकता है। मैं आमतौर पर अपने पेटीएम में इस बिन निर्देशिका को जोड़ता हूं ताकि उपरोक्त कहीं से भी काम करे। आप या तो अपनी JDK बिन निर्देशिका को खोज सकते हैं और इसे अपने PATH में जोड़ सकते हैं, या आप कमांड लाइन पर keytool के लिए पूरा पथनाम डाल सकते हैं।
डेव मैकलेन

1
जैसा कि अन्य टिप्पणीकारों ने बताया है, लगता है कि Google ने डिबग प्रमाणपत्र की डिफ़ॉल्ट अवधि बढ़ा दी है, इसलिए debug.keystore फ़ाइल को हटाना और साफ़ / निर्माण करना बहुत आसान है।
डेव मैकलीन

81

विस्टा पर, यह काम किया:

  1. करने योग्य: del c:\user\dad\.android\debug.keystore

  2. ECLIPSE: प्रोजेक्ट में, प्रोजेक्ट को क्लीन करें। ग्रहण को बंद करें। पुनः ग्रहण खोलें।

  3. ECLIPSE: एमुलेटर शुरू करें। एमुलेटर से एप्लिकेशन निकालें।

तुम तैयार हो।

जब मैं उस त्रुटि को कहता हूं तो मैं बहुत चिंतित था, लेकिन मैंने इसे यहां पढ़ने और लगभग 10 मिनट तक खेलने से तय किया।


68
  • खिड़कियाँ

हटाएं: debug.keystore में स्थित है C:\Documents and Settings\\[user]\.android, साफ़ करें और अपनी परियोजना का निर्माण करें।

  • विंडोज 7 पर जाएं C:\Users\[username]\.androidऔर डीबग.स्टायस्टोर फ़ाइल को हटा दें।

अपने प्रोजेक्ट को साफ करें और उसका निर्माण करें।

  • मैक

~/.android/debug.keystoreक्लीन में स्थित अपने कीस्टोर को हटा दें और अपनी परियोजना का निर्माण करें।

सभी विकल्पों में अगर आपको नया डिबग नहीं मिल सकता है।


56

विंडोज 7 में यह रास्ते में है

C:\Users\[username]\.android
  • गोटो इस पथ और निकालें debug.keystore
  • अपने प्रोजेक्ट को साफ़ करें और उसका निर्माण करें।

41

यदि कोई प्रमाणपत्र प्रोजेक्ट डीबगिंग के बीच में समाप्त हो जाता है, तो आपको मैन्युअल स्थापना रद्द करनी होगी :

कृपया adb uninstall <package_name>एक शेल में निष्पादित करें ।


38

एक मैक पर, टर्मिनल खोलें (वर्तमान उपयोगकर्ता की निर्देशिका को खोलना चाहिए), सीडी ".android" ("ls" को डिबग को सत्यापित करने के लिए है)। अंत में "rm debug.keystore" फाइल को हटाने के लिए।


36

एंड्रॉइड एसडीके आपके लिए कीस्टॉर नामक एक "डिबग" हस्ताक्षर प्रमाण पत्र बनाता है debug.keystore। एक्लिप्स प्लग-इन उत्पन्न होने वाले प्रत्येक एप्लिकेशन को साइन करने के लिए इस प्रमाणपत्र का उपयोग करता है।

दुर्भाग्य से एक डिबग प्रमाणपत्र केवल 365 दिनों के लिए मान्य है। एक नया उत्पन्न करने के लिए, आपको मौजूदा debug.keystoreफ़ाइल को हटाना होगा । इसका स्थान प्लेटफ़ॉर्म आश्रित है - आप इसे वरीयताएँ -> एंड्रॉइड -> बिल्ड -> * डिफॉल्ट डीबग कीस्टोर में पा सकते हैं।

यदि आप विंडोज का उपयोग कर रहे हैं, तो नीचे दिए गए चरणों का पालन करें।

DOS: del c: \ user \ dad.android \ debug.keystore

ग्रहण: परियोजना में, परियोजना को साफ करें। ग्रहण को बंद करें। पुनः ग्रहण खोलें।

ग्रहण: एमुलेटर शुरू करें। एमुलेटर से एप्लिकेशन निकालें।

यदि आप लिनक्स या मैक का उपयोग कर रहे हैं, तो नीचे दिए गए चरणों का पालन करें।

मैन्युअल रूप debug.keystoreसे .androidफ़ोल्डर से हटा दें ।

आप .androidइस तरह से फ़ोल्डर पा सकते हैं :home/username/.android

नोट: डिफ़ॉल्ट .androidफ़ाइल छिपाई जाएगी।

तो स्थानों मेनू पर क्लिक करें। होम फ़ोल्डर का चयन करें। क्लिक व्यू के तहत, क्लिक शो हिडन फाइल्स और फिर .androidफोल्डर दिखाई देगा।

हटाएं debug.keystoreसे .android folder

फिर अपने प्रोजेक्ट को साफ करें। अब Android एक नई .android folderफ़ाइल उत्पन्न करेगा ।


34

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


33

हममम। दिलचस्प है कि कितने लोगों को इसके साथ कुछ अलग अनुभव हुए हैं। मुझे वे दिन याद हैं जब यह संकेत माना जाता था कि सॉफ्टवेयर रिलीज़ के लिए तैयार नहीं था, और टीम वास्तव में इसे ठीक कर देगी क्योंकि उपयोगकर्ताओं ने इन समस्याओं को देखना शुरू कर दिया था :(

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

अब मुझे गलत मत समझो, मुझे खुशी है कि मुझे इस धागे में संकेत के लिए धन्यवाद मिला। लेकिन स्पष्ट रूप से साफ सही काम नहीं कर रहा है, और मैंने कीस्टॉर को हटाने के बाद इसे एक समय समाप्त कुंजी कैसे मिली ??? स्पष्ट रूप से ग्रहण या एडीटी के साथ कुछ गलत है - इतना निश्चित नहीं है जो।


ग्रहण कैश फ़ाइलों में जाता है, इसलिए कभी-कभी साफ / ताज़ा करने की आवश्यकता होती है ताकि यह पता चल सके कि फ़ाइल डिस्क पर बदल गई है।
नवजोत

33

उबंटू पर, यह काम किया:

मैं गया home/username/.androidऔर मैंने नाम बदल keystore.debugदिया keystoreold.debug। मैंने तब ग्रहण को बंद कर दिया, ग्रहण शुरू कर दिया, और एसडीके ने keystore.debugउस फ़ोल्डर में नया प्रमाण पत्र बनाया ।

फिर आपको USB डिबगिंग या एक अहस्ताक्षरित APK ("अहस्ताक्षरित" APK = डीबग प्रमाणपत्र के साथ हस्ताक्षरित) के माध्यम से इंस्टॉल किए गए एप्लिकेशन को अनइंस्टॉल / रीइंस्टॉल करना होगा।


14

विंडोज़ के लिए xp पर जाएं C:\Documents and Settings\%userprofile%\.androidऔर debug.keystore फ़ाइल को हटा दें , ग्रहण को फिर से शुरू करें और अब आपकी परियोजना बिना किसी त्रुटि के बन जाएगी।

उदाहरण पथ:

C:\Documents and Settings\raja.ap\.android\

यहाँ पढ़ें-अधिक के लिए


13

विंडोज में debug.keystoreफाइल C:\Users\%Username%\.androidफोल्डर में लोकल है । यह फ़ाइल तब बनाई जाती है जब आप अपना Android SDK स्थापित करते हैं और केवल एक वर्ष के लिए मान्य होता है। इस पेरोड के बाद आपको यह त्रुटि मिलनी शुरू हो जाएगी Error getting final archive: Debug certificate expired on xx/xx/xxxx

इस त्रुटि को दूर करने के लिए बस फ़ाइल को हटाएँ और प्रोग्राम को फिर से चलाएँ। मेरे ग्रहण में मैंने इसे सक्रिय Project->Build Automaticallyकर दिया है, लेकिन अगर आपने इसे निष्क्रिय कर दिया है, तो आपको परियोजना को साफ करने की आवश्यकता होगी Project->Clean.. अपनी परियोजना का चयन करें और ओके दबाएं। फिर आपको इसे मैन्युअल रूप से बनाने की आवश्यकता होगी। अपनी परियोजना पर 3 क्लिक करें और चुनें Build project। (नोट - आपको यह विकल्प तभी दिखाई देगा जब आपने अपने प्रोजेक्ट मेनू में बिल्ड बिल्ड ऑटोमैटिकली फीचर को निष्क्रिय कर दिया हो)


13

पहले ग्रहण को बंद करें

विंडो कुंजी + आर द्वारा या व्यवस्थापक के रूप में रन के माध्यम से सीएमडी खोलें

निम्न चरण का अनुसरण करता है

del "%USERPROFILE%\.android\debug.keystore"
keytool -genkey -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 30000

इसके बाद ग्रहण को फिर से शुरू करें।


7

आप स्थापित करने के बाद Android SDK in Eclipse, यह एक में आप के लिए एक डिबग हस्ताक्षर करने के प्रमाण पत्र उत्पन्न कुंजीस्टोर बुलाया debug.keystore । एक्लिप्स प्लग-इन उत्पन्न होने वाले प्रत्येक एप्लिकेशन को साइन करने के लिए इस प्रमाणपत्र का उपयोग करता है।

अब, इस डिबग प्रमाण पत्र के साथ समस्या यह है कि यह केवल एक वर्ष, या 365 दिनों के लिए मान्य है। If your Eclipse IDE uses an expired debug certificate, you will not be able to create and/or deploy an Android app

इस समस्या को ठीक करने के लिए आपको केवल debug.keystore फ़ाइल को हटाना होगा ।

  1. Go to Preferences
  2. Android
  3. Build
  4. Default debug keystore

वहां आपको उस फ़ोल्डर को देखना चाहिए जहां फ़ाइल स्थित है। बस उस फ़ाइल को हटा दें और आप जाने के लिए अच्छे हैं।

अधिक जानकारी के लिए। आप इस पर जा सकते हैं

http://developer.android.com/tools/publishing/app-signing.html


0

इस समस्या को ठीक करने के लिए, बस debug.keystore फ़ाइल को हटा दें।

AVDs के लिए डिफ़ॉल्ट भंडारण स्थान है

OS X और Linux पर ~ / .android / में।

Windows XP पर C: \ Documents and Settings \ .android में

Windows Vista और Windows 7 पर C: \ Users \ .android।

इस लिंक को भी देखें, जो मददगार हो सकता है।

http://developer.android.com/tools/publishing/app-signing.html

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