2012-07-24 9 views
5

काफी अजीब त्रुटि का एक सा हो रहा हैचींटी एंड्रॉयड v20 के बाद मैं एंड्रॉयड के लिए उन्नत और v20 करने के लिए उपकरण ग्रहण

चींटी के माध्यम से बनाते apk को साइन किया

पर निम्न त्रुटि के साथ काम करना बंद कर करने के लिए अद्यतन करने के बाद हस्ताक्षर किए apk का निर्माण करने में विफल रहता है
BUILD FAILED 
C:\Programs\Android\tools\ant\build.xml:1097: The following error occurred while executing this line: 
C:\Programs\Android\tools\ant\build.xml:1109: Cannot recover key 

कोई भी विचार एंड्रॉइड जेबी घटकों के उन्नयन के दौरान क्या बदल सकता है, और यह कैसे सुधार किया जा सकता है?

मैं किसी भी मदद की सराहना करते हैं ...

उत्तर

3

मैंने इस विषय पर लगभग 5 घंटे बिताए ... यह सब पासवर्ड के बाद एक जगह पर आ गया।

स्पष्ट रूप से पूर्व संस्करण में यह पासवर्ड को ट्रिम कर रहा था और वर्तमान संस्करण में यह नहीं है।

तो सुनिश्चित करें कि आपके पास लाइनों के अंत में रिक्त स्थान नहीं हैं, इससे अंतर हो सकता है। इससे हमारे लिए समस्या हल हो गई - जेडीके 7 पर जाने की कोई ज़रूरत नहीं है (हालांकि ऐसा लगता है कि कम से कम चींटी से वैसे भी ठीक है और काम करता है)।

+0

आप लाइफसेवर @ रॉबर्टो सी सेरानो हैं। Ant.properties फ़ाइल के अंत में भी कोई अतिरिक्त खाली लाइन नहीं है। –

0

ऐसा लगता है कि अपने डिबग कुंजी चींटी से नहीं देखा जाता है।

+0

प्रतिक्रिया के लिए धन्यवाद, रिलीज कुंजी के साथ ऐप पर हस्ताक्षर करने के लिए xml को कॉन्फ़िगर किया गया है। उस सेटिंग को ant.properties में निर्दिष्ट किया गया है जिस पथ को build.xml फ़ाइल में निर्दिष्ट किया गया है। कृपया ध्यान दें कि एंड्रॉइड और एक्लिप्स उपकरण को v20 (जेली बीन्स) –

8

हमें एक ही समस्या है, और हमारे पास एक समाधान है लेकिन वास्तव में एक स्पष्टीकरण नहीं है!

  • key.store = कारोबार-key.keystore
  • key.alias = कारोबार
  • key.store.password = KEY_STORE_PASSWORD
  • :

    हमारी मौजूदा बनाता गुण फ़ाइलों में निम्नलिखित था key.alias.password = KEY_ALIAS_PASSWORD

लेकिन यह काम करना बंद कर दिया है - हालांकि जब हम key.alias.p बदलते हैं

  • key.store = कारोबार-key.keystore
  • key.alias = कारोबार
  • key.store.password = KEY_STORE_PASSWORD
  • key.alias: assword दुकान पासवर्ड यह जैसे काम कर रहा है मैच के लिए .password = KEY_STORE_PASSWORD

उपनाम यह सुनिश्चित नहीं करते कि शायद किसी ने चींटी लाइब्रेरी को क्यों हटा दिया है?

+0

पर अपग्रेड करने से पहले सब कुछ काम कर रहा था प्रतिक्रिया uesr1556185 के लिए धन्यवाद। आप उत्तर वास्तव में अधिक प्रश्न गुलाब हैं। बात यह है कि मेरी दुकान और उपनाम पासवर्ड बहुत ही शुरुआत से ही रहे हैं ... जिस तरह से मैं ग्रहण एंड्रॉइड उपकरण का उपयोग करके एक हस्ताक्षरित एपीके निर्यात कर सकता हूं - प्रोजेक्ट पर राइट क्लिक> एंड्रॉइड टूल्स> निर्यात हस्ताक्षर आवेदन पैकेज ... –

+0

धन्यवाद, यह मेरे लिए काम किया, लेकिन वास्तव में बहुत अजीब है। – HefferWolf

+0

खुशी है कि यह आपके लिए हेफ़रवॉल्ड काम करता है, खेद है कि यह नार गार के लिए नहीं था। मुझे सलाह देने के लिए थोड़ा सा नुकसान है, मैंने साइनएप एंटी लक्ष्य के लिए गिट स्रोत पर एक नज़र डाली है और कुछ भी स्पष्ट रूप से गलत नहीं देख सकता है। यह हस्ताक्षर प्रक्रिया में कुछ बदलावों का उल्लेख करता है - चेक इन यहां है: https://android.googlesource.com/platform/sdk/+/1cb06d5bc82268dc5c684aa2ee7415175ce14c7e यह नहीं देख सकता कि यह एक समस्या क्यों होगी। आप किस जेडीके का उपयोग कर रहे हैं? शायद एसडीके 7 काम कर सकता है? – TeazelDev2

1

एसडीके v20, मैं एक परियोजना एक bash स्क्रिप्ट का उपयोग कर, इस तरह पासवर्ड दर्ज बनाया था करने से पहले:

build_v1.sh

ant release 
[email protected] 
[email protected] 

v20 में यह विफल रहता है क्योंकि पासवर्ड 'isn टी स्वीकार किया जा रहा है। ऐसा लगता है कि रेखा चरित्र के अंत से संबंधित है, लेकिन मुझे यकीन नहीं है। निर्माण प्रक्रिया को पासवर्ड से पूछने से रोकने के लिए, आप ant.properties फ़ाइल में पासवर्ड गुण जोड़ सकते हैं:

चींटी।गुण

key.store=company-key.keystore 
key.alias=company 
[email protected] 
[email protected] 

मेरी विशेष परियोजना के लिए, एक नकली कुंजीस्टोर पासवर्ड ant.properties में सहेजा गया है और मैं निर्माण समय में रिलीज कुंजीस्टोर पासवर्ड इसकी जगह हूँ:

build_v2.sh

[email protected] 
sed -i "s|key.store.password=.*|key.store.password=${keyPass}|g" ant.properties 
sed -i "s|key.alias.password=.*|key.alias.password=${keyPass}|g" ant.properties 
ant release 

यह हमारे रिलीज कीस्टोर पासवर्ड को कहीं और छीनने की अनुमति देता है। सौभाग्य!

2

त्रुटि-संदेश से सावधान रहें:

गलत key.store.password की ओर जाता है:

KeyStore के साथ छेड़छाड़ की गई थी, या पासवर्ड गलत था: पासवर्ड सत्यापन विफल

एक गलत key.alias.password जबकि की ओर जाता है:

कुंजी

everone जो keytool -v -list mykeystore.keystore से केवल दुकान पासवर्ड की जाँच की और alias.password verfied कभी नहीं के लिए ठीक नहीं किया जा सकता।

संबंधित मुद्दे