इसके माध्यम से साझा किया गया


Android के लिए कोड साइन

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

महत्वपूर्ण

यदि आप इसके बजाय Google Play वितरण के लिए AAB ऐप को साइन करना चाहते हैं, तो अपना ऐप साइन करें पर जाएँ.

अपना PC तैयार करें

आरंभ करने के लिए आपको निम्नलिखित जानकारी की आवश्यकता होगी:

कुंजियॉं जनरेट करें

नोट

यदि आपने ऐप पंजीकरण बनाते समय पहले ही कुंजियाँ और हस्ताक्षर हैश जेनरेट कर लिया है, तो APK पैकेज पर हस्ताक्षर करें पर जाएँ।

हम ऐप्लिकेशन पैकेज पर साइन करने हेतु प्रमाण पत्र बनाने के लिए keytool.exe (Android Studio स्थापित करने के बाद उपलब्ध, फ़ोल्डर स्थान"Drive:\Program Files\Android \Android Studio\jre\bin\keytool.exe" से) का उपयोग करेंगे. Keytool का उपयोग क्रिप्टोग्राफ़िक कुंजियों, X.509 प्रमाण पत्र श्रृंखलाओं और विश्वसनीय प्रमाण पत्रों के कीस्टोर (डेटाबेस) को प्रबंधित करने के लिए किया जाता है.

एक कुंजी उत्पन्न करने के लिए, एक कमांड प्रॉम्प्ट खोलें और निम्न कमांड चलाएँ:

keytool -genkey -alias SIGNATURE_ALIAS -keyalg RSA -keystore PATH_TO_KEYSTORE -keysize 2048 -validity 10000

पैरामीटर्स:

  • genkey - एक कुंजी उत्पन्न करने के लिए आदेश.
  • उपनाम - भविष्य में उत्पन्न की जाने वाली कुंजियों वाले कुंजीस्टोर प्रविष्टि को संदर्भित करने के लिए उपयोग किए जाने वाले उपनाम को इंगित करता है।
  • keyalg - कुंजी एल्गोरिथ्म नाम.
  • keystore - आपके द्वारा उपयोग किए जा रहे कीस्टोर का नाम.
  • keysize - उत्पन्न होने वाली प्रत्येक कुंजी का आकार.
  • validity - दिनों की संख्या में कुंजी की वैधता.

उदाहरण:

  • यदि कुंजी वॉल्ट तैयार किया जा रहा है, तो PATH_TO_KEYSTORE में .pfx एक्सटेंशन होना चाहिए.

    keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.pfx -keysize 2048 -validity 10000

  • यदि मैन्युअल हस्ताक्षर करने की तैयारी कर रहे हैं, तो PATH_TO_KEYSTORE में .jks एक्सटेंशन होना चाहिए.

    keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.jks -keysize 2048 -validity 10000

उपरोक्त उदाहरण में पैरामीटर का उपयोग करते हुए keytool कमांड वाला एक स्क्रीनशॉट.

हस्ताक्षर हैश उत्पन्न करें

नोट

यदि आपने ऐप पंजीकरण बनाते समय पहले ही कुंजियाँ और हस्ताक्षर हैश जेनरेट कर लिया है, तो APK पैकेज पर हस्ताक्षर करें पर जाएँ।

कुंजी उत्पन्न करने के बाद, कुंजीस्टोर प्रमाणपत्र निर्यात करने के लिए exportcert कमांड का उपयोग keytool में किया जाता है।

keytool -exportcert -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE | openssl sha1 -binary | openssl base64

पैरामीटर्स:

  • exportcert - कीस्टोर से उपनाम से जुड़े प्रमाण पत्र को पढ़ता है और इसे cert_file फ़ाइल में संग्रहीत करता है. जब कोई फ़ाइल निर्दिष्ट नहीं की जाती है, तो प्रमाणपत्र stdout पर आउटपुट होता है.
  • alias - कुंजी उत्पन्न करते समय प्रयुक्त उपनाम पहले.
  • keystore - आपके द्वारा उपयोग किए जा रहे कीस्टोर का नाम.
  • openssl - Android के लिए SHA1 कुंजी उत्पन्न करता है.

रीडायरेक्ट URI में जेनरेट किए गए हस्ताक्षर हैश को जोड़ें ऐप को पंजीकृत करते समय

SHA1 हेक्स को मैन्युअल रूप से Base64-एन्कोडेड सिग्नेचर हैश में बदलें

यदि आपका हस्ताक्षर हैश Azure पोर्टल में सही ढंग से एनकोड नहीं किया गया है या अस्वीकार्य है, तो आपको निम्न त्रुटि दिखाई दे सकती है:

"हस्ताक्षर हैश base64-एन्कोडेड SHA1 होना चाहिए."

जब यह त्रुटि दिखाई देती है, तो इसके बजाय निम्न चरणों का उपयोग करके हस्ताक्षर हैश उत्पन्न करने का प्रयास करें:

  1. प्रमाणपत्र जानकारी को वर्बोज़ मोड में सूचीबद्ध करने के लिए keytool -list -v -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE चलाएँ.
  2. आउटपुट से प्रमाणपत्र फिंगरप्रिंट सेक्शन के तहत SHA1 मान को कॉपी करें. सुनिश्चित करें कि आप केवल हेक्साडेसिमल मान की प्रतिलिपि बनाते हैं.
    उदाहरण के लिए: EF:11:45:3D:F1:72:D9:8C:43:32:CD:0A:49:C2:E4:75:2D:B3:2D:9F
  3. कॉपी किए गए प्रमाण पत्र फ़िंगरप्रिंट हेक्साडेसिमल मान को Base64 एन्कोडेड मान में बदलने के लिए किसी भी उपलब्ध "हेक्साडेसिमल से Base64" कनवर्टर का उपयोग करें.
    Base64 एन्कोडेड मान का उदाहरण: 8CPPeLaz9etdqQyaQubcqsy2Tw=
  4. ऐप को पंजीकृत करते समय Azure पोर्टल में हस्ताक्षर हैश के रूप में जनरेट किए गए Base64 एन्कोडेड मान की प्रतिलिपि बनाएँ।

APK पैकेज पर हस्ताक्षर करें

APK पैकेज पर हस्ताक्षर करने के लिए, हम apksigner टूल का उपयोग करेंगे. यह उपकरण आपको APK पर हस्ताक्षर करने और यह सुनिश्चित करने की अनुमति देता है कि APK पैकेज हस्ताक्षर APK द्वारा समर्थित सभी Android प्लेटफ़ॉर्म पर सफलतापूर्वक सत्यापित किए गए हैं।

अपना apksigner खोजें

  1. Android Studio में Android SDK पथ जांचें.

  2. टूल > SDK प्रबंधक > Android SDK स्थान चुनें.

    यदि iOS का उपयोग कर रहे हैं, तो buildTools Version निर्देशिका से apksigner फ़ाइल की जाँच करें:

    SDK डायरेक्ट्री > build-tools > buildToolsVersion > lib पर जाएँ, apksigner.jar फ़ाइल जांचें

apksigner फ़ाइल का उपयोग करें

apksigner का उपयोग करने के लिए निम्न आदेश चलाएँ और पैकेज पर हस्ताक्षर करें:

apksigner.bat sign --ks PATH_TO_KEYSTORE --ks-key-alias KEY_ALIAS PATH_TO_APK

पैरामीटर्स:

  • ks - कीस्टोर के लिए पथ.
  • ks-key-alias - APK फ़ाइल के लिए कुंजी उर्फ पथ.

संकेत मिलने पर, पासवर्ड दर्ज करें.

अधिक जानकारी: Android Studio कमांड लाइन उपकरण: apksigner

ऐप वितरित करें

आप पैकेज को वितरण सेवा जैसे कि ऐप सेंटर पर होस्ट कर सकते हैं। Microsoft Intune का उपयोग करके वितरित करने के लिए, Microsoft Intune में एक Android व्यावसायिक ऐप जोड़ें. किसी ऐप को Intune ऐप सुरक्षा सेवा तक पहुंच प्रदान करने के बारे में जानने के लिए, अपने ऐप को Intune ऐप सुरक्षा सेवा तक पहुंच प्रदान करें देखें.

भी देखें