मैं एक कीस्टोर कैसे बना सकता हूं?


537

एंड्रॉइड के लिए कीस्टोर बनाने के लिए क्या कदम हैं?

मुझे अपने ऐप में Google मानचित्र का उपयोग करने की आवश्यकता है और मुझे नहीं पता कि मैंने क्या कदम उठाए। कृपया मुझे विशिष्ट विस्तृत चरण प्रदान करें (मुझे यह मार्गदर्शकों से समझ में नहीं आया)।


क्या आपने पहले से ही कुछ किया है, या आप शुरू करने के लिए सिफारिशों की तलाश कर रहे हैं?
ATK

2
वे निम्नलिखित चरण हैं जो मैंने किए थे: 1-स्थापित ग्रहण 2- इंस्टॉल करें jdk 3- इंस्टॉल करें एसडीके 4- इंस्टॉल करें एंड्रॉइड प्लगइन। मैं जीत cmd, कमांड में कमांड निष्पादित करने का प्रबंधन नहीं करता: $ keytool -genkey -v -Stystore my-release-key.keystore -alias alias_name -keyalg RSA -keysg 2048 -validity 10000 (जो एक निजी कुंजी उत्पन्न करता है)। धन्यवाद
12:48 बजे user482762

@ user482762: कॉमन्सवेयर का जवाब आपके लिए काम आया? आपने विजेता cmd को निष्पादित करने का प्रबंधन क्यों नहीं किया?
ATK

CommonsWare का उत्तर मेरे लिए काम नहीं करता है, जब मैं cmd ​​में कमांड निष्पादित करने का प्रयास करता हूं, तो मुझे एक त्रुटि मालिश मिलती है: "$ को आंतरिक या बाहरी कमांड, ऑपरेशनल प्रोग्राम या बैच फ़ाइल के रूप में मान्यता नहीं दी जाती है"। आपकी मदद के लिए धन्यवाद
user482762

आह! आप वास्तव में $ टाइप नहीं करना चाहते हैं। विंडोज पर, जब आप कमांड लाइन (cmd एप्लिकेशन) का उपयोग करते हैं, तो इनपुट प्रॉम्प्ट आमतौर पर DRIVE: / DIRECTORY> की तरह दिखता है, जैसे "c: \"। यूनिक्स पर, प्रॉम्प्ट अक्सर "$" या सिर्फ ">" जैसा दिखता है। कमांड में "$" इनपुट प्रॉम्प्ट का प्रतिनिधित्व करने के लिए है, कमांड का हिस्सा नहीं है। $ के बिना, सभी तर्कों के साथ कुंजीटूल चलाने का प्रयास करें।
ATK

जवाबों:


544

शीर्षक में प्रश्न का उत्तर देने के लिए, आप जावा कीटूल उपयोगिता के साथ एक कीस्टोर बनाते हैं जो किसी भी मानक JDK वितरण के साथ आता है और इसे स्थित किया जा सकता है %JAVA_HOME%\bin। विंडोज पर यह आमतौर पर होगा C:\Program Files\Java\jre7\bin

तो विंडोज पर, एक कमांड विंडो खोलें और उस डायरेक्टरी पर स्विच करें और इस तरह एक कमांड डालें

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

Keytool आपको कीस्टोर के लिए पासवर्ड प्रदान करने के लिए संकेत देता है, विशिष्ट नाम फ़ील्ड प्रदान करता है और फिर आपकी कुंजी के लिए पासवर्ड। इसके बाद कीस्टोर को एक फाइल के रूप में जेनरेट करता है जिसे आप जिस डायरेक्टरी में रखते हैं उसमें माय-रिलीज-की.स्टिस्टोर कहते हैं। आपके द्वारा दर्ज किए गए पासवर्ड से कीस्टोर और की सुरक्षित रहते हैं। कीस्टोर में एक एकल कुंजी होती है, जो 10000 दिनों के लिए वैध होती है। उपनाम एक नाम है जिसे आप - बाद में उपयोग करेंगे, अपने आवेदन पर हस्ताक्षर करते समय इस कीस्टॉर को संदर्भित करने के लिए।

Keytool के बारे में अधिक जानकारी के लिए, यहां देखें: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html

और एंड्रॉइड ऐप पर हस्ताक्षर करने के बारे में अधिक जानकारी के लिए यहां जाएं: http://developer.android.com/tools/publishing/app-signs.html


6
परिभाषित करने पर अच्छा चिल्लाना-२०४out० डिफ़ॉल्ट रूप से १०२४ के बजाय व्यक्तिगत रूप से मैं अब ४०

9
जानकारी के लिए, मेरे मामले में, मुझे व्यवस्थापक अधिकारों के
Intuitisoft

यह मुझे देता है: E / TokenRequestor: आपके पास गलत OAuth2 संबंधित कॉन्फ़िगरेशन हैं, कृपया देखें। विस्तृत त्रुटि: UNREGISTERED_ON_API_CONSOLE मैंने पहले ही एपीआई कंसोल में अपने SHA1 दर्ज करके एक क्रेडेंशियल बनाया है।
रोहन तनेजा

मैन्युअल रूप से जेनरेट करने वाले कीस्टोर पर प्रलेखन के लिए सीधा लिंक: developer.android.com/studio/publish/…
Methodignature

मैंने इस कमांड का उपयोग किया है जो 2 पासवर्ड सेट करता है ताकि आप कुछ संकेतों को छोड़ दें keytool -genkey -v -keystore debug.keystore -storepass android -alias android -keypass android -keyalg RSA -keysize 2048 -validity 10000:। फिर SHA-1 जेनरेट करने के लिए जिसे आपको Firebase do में रखना होगा:keytool -list -v -keystore debug.keystore -alias android -storepass android -keypass android
अल्बर्ट विला केल्वो

158

एंड्रॉइड स्टूडियो में अपना ऐप साइन करना

Android Studio में अपने एप्लिकेशन को रिलीज़ मोड में साइन इन करने के लिए, इन चरणों का पालन करें:

1- मेन्यू बार पर, बिल्ड> जेनरेट साइन एपीके पर क्लिक करें।


2-जनरेट साइन की गई एपीके विजार्ड विंडो पर, नया कीस्टॉर बनाने के लिए नया बनाएं पर क्लिक करें। यदि आपके पास पहले से ही एक कीस्टोर है, तो चरण 4 पर जाएं।


3- नई की-स्टोर विंडो पर, आवश्यक जानकारी प्रदान करें जैसा कि चित्र में दिखाया गया है आपकी कुंजी कम से कम 25 वर्षों के लिए मान्य होनी चाहिए, इसलिए आप अपने ऐप के जीवन काल के माध्यम से उसी कुंजी के साथ ऐप अपडेट पर हस्ताक्षर कर सकते हैं।

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

4- जेनरेट साइन एपीके विजार्ड विंडो पर, कीस्टोर, प्राइवेट की का चयन करें और दोनों के लिए पासवर्ड डालें। इसके बाद नेक्स्ट पर क्लिक करें।यहाँ छवि विवरण दर्ज करें

5- अगली विंडो पर, हस्ताक्षरित एपीके के लिए एक गंतव्य चुनें और समाप्त करें पर क्लिक करें। यहाँ छवि विवरण दर्ज करें

सन्दर्भ

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


2
यदि यह उत्तर सही है, तो यह केवल तभी सुविधाजनक है जब आपके पास पहले से ही एंड्रॉइड स्टूडियो स्थापित हो।
सेप रीड

98

मैं देख रहा था कि शेल में सिंगल लाइन कमांड का उपयोग करके एक .Stystore कैसे उत्पन्न किया जाए, इसलिए मैं इसे दूसरे एप्लिकेशन से चला सकता हूं। यह रास्ता है:

echo y | keytool -genkeypair -dname "cn=Mark Jones, ou=JavaSoft, o=Sun, c=US" -alias business -keypass kpi135 -keystore /working/android.keystore -storepass ab987c -validity 20000
  • dname .keystore में एप्लिकेशन के लिए एक विशिष्ट पहचानकर्ता है

    • उस व्यक्ति या संगठन का पूरा नाम cn जो .keystore उत्पन्न करता है
    • ou संगठनात्मक इकाई जो परियोजना का निर्माण करती है, उसके संगठन का एक उपखंड जो इसे बनाता है। पूर्व। android.google.com
    • o पूरे प्रोजेक्ट का संगठन मालिक। यह कहां से अधिक गुंजाइश है । Ex .: google.com
    • c देश का छोटा कोड। Ex: संयुक्त राज्य अमेरिका के लिए "US" है
  • उर्फ पहचानकर्ता को .Stystore के अंदर एक एकल इकाई के रूप में (इसमें कई हो सकते हैं)

  • उस विशिष्ट उपनाम की रक्षा के लिए कीपास पासवर्ड।
  • कीस्टोर पथ जहां .keystore फ़ाइल बनाई जाएगी (मानक विस्तार वास्तव में है .ks)
  • पूरे .keystore सामग्री की सुरक्षा के लिए storepass पासवर्ड ।
  • वैधता दिनों की Amout एप्लिकेशन .keystore के साथ मान्य होगी

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


मेरे पास उस तरह की त्रुटि कभी नहीं थी, लेकिन /path/file.keystoreस्टोरपास पैरामीटर के साथ स्पर्श और बिंदु करने की कोशिश करें ।
एलियूएक्स

बहुत अच्छा काम करता है! मेरा एकमात्र परिवर्तन यह है कि मैं एंड्रॉइड के लिए एक्सटेंशन .jks का उपयोग करता हूं
एडम

2
jksहै जावा के लिए सरकारी कुंजीस्टोर विस्तार सामान्य रूप में, अभी तक keystoreके लिए इस्तेमाल किया जा करने की सिफारिश की है एंड्रॉयड क्षुधा बजाय।
एलयूएक्स

1
@eliasbagley ऐसा इसलिए है क्योंकि ऊपर लिखा गया कमांड-स्टोरेज दूसरी लाइन पर शुरू हुआ है। एक पंक्ति में सब कुछ लिखें और यह ठीक हो जाएगा।
tormuto

82

कमांड लाइन से कीस्टोर फ़ाइल बनाएँ:

  1. कमांड लाइन खोलें:

    Microsoft Windows [Version 6.1.7601]
    Copyright (c) 2009 Microsoft Corporation.  All rights reserved
    
    // (if you want to store keystore file at C:/ open command line with RUN AS ADMINISTRATOR)
    
    C:\Windows\system32> keytool -genkey -v -keystore [your keystore file path]{C:/index.keystore} -alias [your_alias_name]{index} -keyalg RSA -keysize 2048 -validity 10000[in days]
    
  2. दर्ज करें> यह आपको पासवर्ड के लिए संकेत देगा> पासवर्ड दर्ज करें (यह अदृश्य होगा)

    Enter keystore password:
    Re-enter new password:
    
  3. दर्ज करें> यह आपका विवरण पूछेगा।

    What is your first and last name?
     [Unknown]:  {AB} // [Your Name / Name of Signer] 
    What is the name of your organizational unit?
     [Unknown]:  {Self} // [Your Unit Name] 
    What is the name of your organization?
     [Unknown]:  {Self} // [Your Organization Name] 
    What is the name of your City or Locality?
     [Unknown]:  {INDORE} // [Your City Name] 
    What is the name of your State or Province?
     [Unknown]:  {MP} //[Your State] 
    What is the two-letter country code for this unit?
     [Unknown]:  91
    
  4. Enter> Y दर्ज करें

    Is CN=AB, OU=Self, O=Self, L=INDORE, ST=MP, C=91 correct?
    [no]:  Y
    
  5. Enter> फिर से पासवर्ड डालें।

    Generating 2,048 bit RSA key pair and self-signed certificate    (SHA256withRSA) with a validity of 10,000 days
        for: CN=AB, OU=Self, O=Self, L=INDORE, ST=MP, C=91
    Enter key password for <index> (RETURN if same as keystore password):
    Re-enter new password:
    

[भंडारण सी: /index.keystore]

  1. और आपका हो गया !!!

ग्रहण में निर्यात करें:

अपने बनाए गए कीस्टोर फ़ाइल के साथ अपना एंड्रॉइड पैकेज .apk में निर्यात करें

  1. उस पैकेज पर राइट क्लिक करें जिसे आप निर्यात करना चाहते हैं और निर्यात का चयन करें यहाँ छवि विवरण दर्ज करें

  2. निर्यात Android एप्लिकेशन> अगला चुनें यहाँ छवि विवरण दर्ज करें

  3. आगे
    यहाँ छवि विवरण दर्ज करें

  4. मौजूदा कीस्टॉर का उपयोग करें का चयन करें> ब्राउज .keystore फ़ाइल> पासवर्ड दर्ज करें> अगला यहाँ छवि विवरण दर्ज करें

  5. उपनाम> पासवर्ड दर्ज करें> अगला चुनें यहाँ छवि विवरण दर्ज करें

  6. एपीके डेस्टिनेशन> समाप्त ब्राउज़ करें यहाँ छवि विवरण दर्ज करें

Android स्टूडियो में:

[.keystore/.jks]स्टूडियो में कीस्टोर बनाएं ...

  1. बिल्ड (ALT + B) पर क्लिक करें > हस्ताक्षरित उत्पन्न करें ...
    यहाँ छवि विवरण दर्ज करें

  2. नया बनाएं पर क्लिक करें .. (ALT + C)
    यहाँ छवि विवरण दर्ज करें

  3. कुंजी स्टोर पथ ब्राउज़ करें (SHIFT + ENTER)> पथ चुनें> नाम दर्ज करें> ठीक है यहाँ छवि विवरण दर्ज करें

  4. अपनी .jks/keystoreफ़ाइल के बारे में विवरण भरेंयहाँ छवि विवरण दर्ज करें

  5. आगे
    यहाँ छवि विवरण दर्ज करें

  6. आपकी फाइल
    यहाँ छवि विवरण दर्ज करें

  7. स्टूडियो मास्टर पासवर्ड दर्ज करें (यदि आप नहीं जानते तो रिसेट कर सकते हैं) > ठीक है यहाँ छवि विवरण दर्ज करें

  8. * डेस्टिनेशन फोल्डर *> टाइप टाइप चुनें

    release : for publish on app store
    debug : for debugging your application
    

    समाप्त पर क्लिक करें

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

किया हुआ !!!


28

यह ट्यूटोरियल:

http://techdroid.kbeanie.com/2010/02/sign-your-android-applications-for.html

मेरे लिए पहली बार किस्टोर बनाने में बहुत मददगार था। यह सरल है, लेकिन developer.android.com पर दिए गए निर्देश थोड़े बहुत संक्षिप्त हैं।

जिस हिस्से के बारे में मैं अनिश्चित था, वह कहाँ सहेजना था और किस नाम से कीस्टॉर फाइल देना था ।

मुझे लगता है कि इससे कोई फर्क नहीं पड़ता कि आपने इसे कहाँ रखा है, बस इसे सुरक्षित रखना सुनिश्चित करें और कई बैकअप रखें। मैंने अभी इसे अपनी ऐप डायरेक्टरी में रखा है

फ़ाइल को "something.keystore" नाम दें जहाँ कुछ भी हो सकता है जो आप चाहते हैं। मैंने app_name.keystore का उपयोग किया , जहाँ app_name मेरे ऐप का नाम था।

अगले भाग को उपनाम का नाम देना था। फिर से यह फिर से बात नहीं लगता है तो मैं सिर्फ app_name फिर से इस्तेमाल किया । पासवर्ड वही रखें जो आपने पहले इस्तेमाल किया था। बाकी क्षेत्रों को भरें और आप कर रहे हैं।


13

मैंने डिबग कीस्टोर बनाने के लिए इस गाइड का पालन ​​किया ।

आदेश है:

keytool -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999

11

Debug.keystore बनाने के लिए इस कमांड का उपयोग करें

keytool -genkey -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -keysize 2048 -validity 10000 -dname "CN=Android Debug,O=Android,C=US"

5

पहली बात पता है कि आप डिबग या रिलीज़ मोड में हैं। डेवलपर साइट से "दो बिल्ड मोड हैं: डीबग मोड और रिलीज़ मोड। आप अपने एप्लिकेशन को विकसित और परीक्षण करते समय डीबग मोड का उपयोग करते हैं। जब आप अपने एप्लिकेशन का रिलीज़ संस्करण बनाना चाहते हैं, तो आप रिलीज़ मोड का उपयोग करते हैं जिसे आप सीधे वितरित कर सकते हैं। उपयोगकर्ताओं के लिए या Google Play जैसे एप्लिकेशन बाज़ार में प्रकाशित करें। "

यदि आप डीबग मोड में हैं, तो आप निम्न कार्य करते हैं ...
A. टर्मिनल खोलें और टाइप करें:

keytool -exportcert -alias androiddebugkey -keystore path_to_debug_or_production_keystore -list -v

नोट: ग्रहण के लिए, डिबग कीस्टोर आम तौर पर ~ / .android / debug.keystore पर स्थित है ...

B. जब पासवर्ड के लिए कहा जाए तो बस "android" दर्ज करें ...

सी। यदि आप रिलीज़ मोड में हैं, तो निर्देशों का पालन करें ...

http://developer.android.com/tools/publishing/app-signing.html <- यह लिंक बहुत कुछ बताता है जो आपको जानना आवश्यक है।


2

आप एक हस्ताक्षरित एपीके को निर्यात करके अपना कीस्टोर बना सकते हैं। जब आप एक हस्ताक्षरित एपीके को निर्यात / बनाने का प्रयास करेंगे, तो यह एक कीस्टोर के लिए पूछेगा।

आप अपने मौजूदा कीस्टोर को चुन सकते हैं या आप आसानी से नया कीस्टॉर बनाकर क्लिक कर सकते हैं

यहां एक लिंक बहुत उपयोगी और अच्छी तरह से समझाया गया है कि अपना कीस्टोर कैसे बनाएं और एक हस्ताक्षरित एपीके उत्पन्न करें

This लिंक ने बताया कि इसे एंड्रॉइड स्टूडियो के साथ कैसे किया जाता है, लेकिन अगर मुझे याद है, तो यह ग्रहण पर समान है

ध्यान रहे

एक बार जब आप अपना कीस्टोर उत्पन्न कर लेते हैं, तो इसे कहीं सुरक्षित रख दें क्योंकि आपको एक नए हस्ताक्षरित एपीके को पुनः प्राप्त करने के लिए इसकी आवश्यकता होगी।

मैं एंड्रॉइड स्टूडियो में एक परियोजना कैसे निर्यात करूं?


2

मैं केवल ग्रेडेल के साथ स्वचालित तरीके का सुझाव देना चाहूंगा

** अंतिम आदेश जैसे देश में कीस्टोर के लिए कम से कम एक अतिरिक्त परम को परिभाषित करें '-dname', 'c=RU'**

apply plugin: 'com.android.application'

// define here sign properties
def sPassword = 'storePassword_here'
def kAlias = 'keyAlias_here'
def kPassword = 'keyPassword_here'

android {
    ...
    signingConfigs {
        release {
            storeFile file("keystore/release.jks")
            storePassword sPassword
            keyAlias kAlias
            keyPassword kPassword
        }
    }
    buildTypes {
        debug {
            signingConfig signingConfigs.release
        }
        release {
            shrinkResources true
            minifyEnabled true
            useProguard true
            signingConfig signingConfigs.release
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    ...
}

...

task generateKeystore() {
    exec {
        workingDir projectDir
        commandLine 'mkdir', '-p', 'keystore'
    }
    exec {
        workingDir projectDir
        commandLine 'rm', '-f', 'keystore/release.jks'
    }
    exec {
        workingDir projectDir
        commandLine 'keytool', '-genkey', '-noprompt', '-keystore', 'keystore/release.jks',
            '-alias', kAlias, '-storepass', sPassword, '-keypass', kPassword, '-dname', 'c=RU',
            '-keyalg', 'RSA', '-keysize', '2048', '-validity', '10000'
    }
}

project.afterEvaluate {
    preBuild.dependsOn generateKeystore
}

यह प्रोजेक्ट सिंक और निर्माण पर कीस्टोर उत्पन्न करेगा

> Task :app:generateKeystore UP-TO-DATE
> Task :app:preBuild UP-TO-DATE

-4

यदि आप Android Studio का उपयोग नहीं करना चाहते हैं या नहीं कर सकते हैं, तो आप create-android-keystore NPM टूल का उपयोग कर सकते हैं:

$ create-android-keystore quick

जिसके परिणामस्वरूप वर्तमान निर्देशिका में एक नई उत्पन्न कीस्टोर होता है।

अधिक जानकारी: https://www.npmjs.com/package/create-android-keystore

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