मैं केटलूल को कैसे खोज और चला सकता हूं


185

मैं यहाँ पर फेसबुक डेवलपर्स का एक विकास मार्गदर्शिका पढ़ रहा हूँ

यह कहता है कि मुझे अपने ऐप के लिए हस्ताक्षर निर्यात करने के लिए कीटल का उपयोग करना चाहिए जैसे:

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

मुझे नहीं पता कि इसे चलाने के लिए कीटल को कैसे खोजना है। मैंने विंडोज कमांड प्रॉम्प्ट खोलने और उपरोक्त कमांड को पेस्ट करने की कोशिश की, लेकिन यह काम नहीं किया।


आप लिनक्स आधारित प्रणाली चला रहे हैं /usr/local/java/bin# ./keytool, तो आप Windows चला रहेfind the JDK install path and check bin folder
ईशान

मैं इस ansour आप समस्या को हल करने के लिए इसका इस्तेमाल कर सकते हैं पाया stackoverflow.com/a/57390582/13405428
अशरफ alqaabera

जवाबों:


184

मैंने नीचे उद्धरण के रूप में अपने आप से एक समाधान पाया। यह बढ़िया काम करता है।

"C:\Program Files\Java\jdk1.6.0_26\bin\keytool.exe" -exportcert -alias
> sociallisting -keystore "D:\keystore\SocialListing"  |
> "C:\cygwin\bin\openssl.exe" sha1 -binary | "C:\cygwin\bin\openssl.exe"
> base64

6
मैंने इसे यहाँ पाया: C: \ Program Files \ Java \ jre1.8.0_111 \ bin \ keytool.exe
Jaime Montoya

9
या C: \ Program Files \ Android \ Android Studio \ jre \ bin
SHAHM

धन्यवाद @SHAHM: हमारे उन लोगों के लिए बहुत अच्छा है, जो नवीनतम संस्करण को अपग्रेड करने के लिए जावा AGAIN को स्पष्ट रूप से डाउनलोड नहीं करना चाहते हैं और हर हफ्ते उन्हें रोक दिया जाता है।
पीट एल्विन

116

बस विंडोज कमांड प्रॉम्प्ट में इन्हें दर्ज करें।

cd C:\Program Files\Java\jdk1.7.0_09\bin

keytool -exportcert -alias androiddebugkey -keystore "C:\Users\userName\.android\debug.keystore" -list -v

आधार पासवर्ड है android

आप के साथ प्रस्तुत किया जाएगा MD5, SHA1और SHA256कुंजी; आपको जो चाहिए वो चुनें।


3
यह मेरे लिए काम किया। डीबग कुंजियों के लिए -alas androiddebugkey का उपयोग करें।
ब्रू

मैं अगली पंक्ति के रिलीज़ संस्करण के लिए उपयोग करता हूं: 1) सीडी सी: \ प्रोग्राम फाइलें \ जावा \ jdk1.8.0_162 \ बिन और अगले 2) कीटूल-लिस्ट -v -स्टाइस्टोर "C: \ AndroidProjects के Project1 \ app \ myapp.keystore "
एंड्रयू

2
keytool error: java.lang.Exception: Only one command is allowed: both -exportcert and -list were specified.
गुस्ताफ लिलग्रेन 20

80

एंड्रॉइड की हैश कोड प्राप्त करने के लिए इन चरणों का पालन करें (फेसबुक ऐप के लिए)

  1. यहाँ विंडोज़ के लिए ओपनसेल डाउनलोड करें
  2. अब ड्राइव करने के लिए unzip
  3. cmd प्रॉम्प्ट खोलें
  4. प्रकार cd C:\Program Files\Java\jdk1.6.0_26\bin
  5. उसके बाद ही टाइप करें keytool -export -alias myAlias -keystore C:\Users\<your user name>\.android\myKeyStore | C:\openssl-0.9.8k_WIN32\bin\openssl sha1 -binary | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -e
  6. किया हुआ

प्रमाणपत्र फिंगरप्रिंट (MD5) कोड प्राप्त करने के लिए इन चरणों का पालन करें

  1. जाना - C: \ Program Files \ Java \ jdk1.6.0_26 \ bin
  2. बिन फ़ोल्डर के अंदर jarsigner.exeफ़ाइल चलाएँ
  3. cmd प्रॉम्प्ट खोलें
  4. प्रकार cd C:\Program Files\Java\jdk1.6.0_26\bin
  5. फिर cmd पर टाइप करें keytool -list -keystore "C:/Documents and Settings/<your user name>/.android/debug.keystore"
  6. यह अब Keystore पासवर्ड के लिए पूछेगा। डिफ़ॉल्ट " android" प्रकार है और दर्ज करें
  7. किया हुआ।

इसने अंतिम चरण तक मेरे लिए काम किया। "एंड्रॉइड" में टाइप करने के बाद यह कचरा बाहर निकालता है ... मेरा अनुमान है कि यह उचित एन्कोडिंग का उपयोग नहीं कर रहा है? अगर मैं "blah" जैसी किसी चीज़ में प्रवेश करता हूं, तो यह बताता है कि पासवर्ड गलत था। तो यह पता है कि मेरे पास "एंड्रॉइड" टाइप करने पर पासवर्ड सही है
आर्टऑफवर्फ

मुझे लगता है कि मैं इस मुद्दे को छोड़ दिया था झंडे को छोड़ दिया और -v
ArtOfWarfare 19

21

keytool JDK का हिस्सा है।

%{JAVA_HOME}\निष्पादित बयान या प्रस्तुत करने का प्रयास करें c:\{path to jdk}\bin


मैंने उसी डायरेक्टरी में सेर फाइल और ट्रस्टस्टोर फाइल को रखा और इस कमांड का इस्तेमाल किया:"%JAVA_HOME%\bin\keytool" -import -keystore truststore -file certificate.cer -alias my-alias
टोड हेल

13

KeyTool JDK का हिस्सा है। आपको यह पता चलेगा, कि आपने डिफ़ॉल्ट सेटिंग्स के साथ JDK को स्थापित किया है$JAVA_HOME/bin


9

Robby PondJAVA_HOMEपर्यावरण चर का उपयोग करने और पथ में होने वाले किसी भी रिक्त स्थान की भरपाई करने के लिए उत्तर को सामान्यीकृत किया जा सकता है (जैसे Program Files):

"%JAVA_HOME%\bin\keytool" -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

4

keytool jdk का हिस्सा है, यह $ JAVA_HOME / bin / keytool होना चाहिए


4

Keytool जावा एसडीके का हिस्सा है। आप इसे अपने जावा SDK निर्देशिका में खोजने में सक्षम होना चाहिए जैसे C: \ Program Files \ Java \ jdk1.6.0_14_ bin


4

Cmd विंडो पर (व्यवस्थापक के रूप में चलाने की आवश्यकता है),

cd %JAVA_HOME% 

केवल तभी काम करता है जब आपने अपना सिस्टम वातावरण चर JAVA_HOME सेट किया हो। अपने पथ के लिए अपना सिस्टम चर सेट करने के लिए, आप ऐसा कर सकते हैं

setx %JAVA_HOME% C:\Java\jdk1.8.0_121\

फिर, आप टाइप कर सकते हैं

cd c:\Java\jdk1.8.0_121\bin

या

cd %JAVA_HOME%\bin

फिर, JAVA jdk द्वारा प्रदान की गई किसी भी कमांड को निष्पादित करें, जैसे कि

keytool -genkey -v -keystore myapp.keystore -alias myapp

एंट्री करने के बाद आपको बस सवालों के जवाब देने होंगे (cmd लाइन पर मान टाइप करने के बराबर)! कुंजी उत्पन्न होगी


3

keytool JDK बिन डायरेक्टरी ($ JAVA_HOME / bin) में स्थित है। JAVA_HOME आपकी JDK संस्थापन निर्देशिका है। उस कमांड लाइन का उपयोग करने के लिए आपको अपने PATH पर्यावरण चर में $ JAVA_HOME / bin शामिल करना चाहिए।


3

Android: जहां एंड्रॉइड में keytool कमांड चलाना है

Keytool कमांड को आपके dos कमांड प्रॉम्प्ट पर चलाया जा सकता है, अगर JRE को आपके क्लासपैथ वेरिएबल में सेट किया गया है।

उदाहरण के लिए, यदि आप Android के लिए SDK डिबग प्रमाणपत्र का MD5 फ़िंगरप्रिंट प्राप्त करना चाहते हैं,

बस निम्नलिखित आदेश चलाएँ ...

C:\Documents and Settings\user\.android>  keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android

जहां C:\Documents and Settings\user\.android>पथ जो होता है debug.keystoreहै कि प्रमाणित होना चाहिए।

विस्तृत जानकारी के लिए, http://code.google.com/android/add-ons/google-apis/mapkey.html#getdebugingprint पर जाएं


3

ग्रहण के आपके संस्करण पर निर्भर करता है (मैं केप्लर का उपयोग कर रहा हूं)। Windows> प्राथमिकताएं> Android> बिल्ड पर जाएं।

आपको अपने डीबग कीस्टोर का स्थान पथ SHA1 फ़िंगरप्रिंट (जिसे आप बस कॉपी और उपयोग कर सकते हैं) मिलेगा


3

मुझे यह एक और पोस्ट पर मिला, जिसमें कई अपवॉट नहीं मिले, लेकिन यह मेरे लिए सुपर मददगार था। तो यहाँ जोड़ देगा।

एंड्रॉइड स्टूडियो अपने साथ एक कीटूल लाएगा।

C:\Program Files\Android\Android Studio\jre\bin

आप रिचर्ड हेप द्वारा नीचे दिए गए उनके पोस्ट को एक उपयोगी संदर्भ के साथ देख सकते हैं। मैंने इसे पहले भी देखा था लेकिन इसके बारे में भूल गया था। https://stackoverflow.com/a/51524526/4446406


2

KEYTOOL JAVAC SDK में है। इसके लिए आपको इसे डायरेक्ट्री के अंदर ढूंढना होगा जो कि javac को कंटेज करता है


2

यदि आपने Xamarin / मोबाइल डेवलपमेंट सपोर्ट के साथ विजुअल स्टूडियो स्थापित किया है, तो C:\Program Files\Android\jdk\microsoft_dist_openjdk_{version}\bin\मेरा यहाँ एक जावा स्थापित होगा , जैसा कि मेरा मामला था।


1

keytoolजेडीके के साथ आता है। यदि आप cygwin का उपयोग कर रहे हैं तो यह संभवतः आपके रास्ते पर है। अन्यथा, आप अपने JDK के बिन फ़ोल्डर में खोद सकते हैं।

संभवतः आपको शेल पाइप ( |) के काम के लिए किसी भी तरह से साइबरविन का उपयोग करना होगा।


क्या आप मुझे बता सकते हैं कि कमांड के नीचे कैसे चला जाए? keytool -exportcert -alias androiddebugkey -keystore ~ ​​/ .android / debug.keystore | opensl sha1 -binary | ओपन्सएल बेस 64
गुयेन मिन्ह बिन्ह

1
हाँ, मैंने किया। और जब मैं कमांड से ऊपर चला जाता हूं, सीएमडी कहता है: 'ओपनसेल' को आंतरिक या बाहरी कमांड, ऑपरेशनल प्रोग्राम या बैच फ़ाइल के रूप में मान्यता नहीं दी जाती है।
गुयेन मिन्ह बिनह

आपको शायद साइबरविन के सेटअप के माध्यम से ओपनसेल पैकेज को स्थापित करने की आवश्यकता है।
मैथ्यू विलिस

1
मैंने पहले से ही ओपनसेल पैकेज स्थापित किया है। समस्या अभी भी है :(
गुयेन मिन्ह

क्या आप खुद से ओपनसेल चला सकते हैं? जब आप "ओपन" टाइप करते हैं और टैब दबाते हैं तो आप क्या विकल्प देखते हैं?
मैथ्यू विलिस

1

जब मैं एक ही समस्या (विंडोज) प्राप्त कर रहा था तब कुछ अवलोकन। 1. शेल पाइप महत्वपूर्ण है। 2. यदि आप OpenSSL या Cygwin का उपयोग कर रहे हैं, तो निश्चित रूप से आपको इसे इंस्टॉल करना होगा। 3. keytool JDK के साथ आता है इसलिए या तो आपको इसे कमांड में इंगित करना होगा या आपने JDK / bin फ़ोल्डर (जहां exe रहता है) में cd किया है। डीबग कीस्टोर आमतौर पर ~ / .and.and या debug.keystore पर स्थित है। 5. पासवर्ड "एंड्रॉइड" है चाहे आप इसे टाइप करें या जब संकेत दिया जाए तो इसे टाइप करें। 6. उपनाम नाम के लिए, आप किसी भी संपादक के साथ कीस्टोर फ़ाइल को खोल सकते हैं (बस खुले और बंद न करें) इसे पढ़ें। 7. सबसे महत्वपूर्ण - एक अंतर है जो उद्धरणों के भीतर और बिना कीस्टोर पथ निर्दिष्ट कर रहा है। मैं इसे डबल कोट्स के भीतर कीस्टोर पथ का उपयोग करके काम कर रहा हूं। जैसा कि remix090378 ने कहा है और निर्देश के अनुसार, इस कमांड ने वास्तव में काम किया - cd C: \ Program Files \ Java \ jdk1.7.0_09 \ bin

keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ userName.android \ debug.keystore" -list -v


0

मेरे मामले में, मैंने पहले ही कमांड का उपयोग करके एक एपीके फ़ाइल उत्पन्न की थी ionic cordova build android --prodऔर मुझे पहले से मौजूद एपीके फ़ाइल के लिए SHA-1 फिंगरप्रिंट प्राप्त करने की आवश्यकता थी। ऐप निर्देशिका में निम्नलिखित कमांड चलाकर मैंने इसे कैसे प्राप्त किया:

keytool -list -printcert -jarfile app-debug.apk

तो, मैं मूल रूप से निम्नलिखित एप्लिकेशन स्थान में उपरोक्त कमांड चलाता हूं:

C:\myApp\platforms\android\app\build\outputs\apk\debug>keytool -list -printcert -jarfile app-debug.apk

इसने मुझे SHA1 फिंगरप्रिंट दिया: 7B:6B:AD:...

आशा है कि यह किसी की मदद करता है!


0

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

यदि ऐसा है, तो आप आगे क्या कर सकते हैं, उस बिन फ़ोल्डर कोPATH अपने विंडोज इंस्टॉलेशन के पर्यावरण चर में जोड़ सकते हैं ।

अगली बार जब आप एक Windows खोलेंगे और आप टाइप करेंगे keytoolतो आप वास्तविक उपयोगिता को चला पाएंगे।

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