APK हस्ताक्षरकर्ता

APK साइनर ऑनलाइन - APK फाइलों पर निःशुल्क हस्ताक्षर कैसे करें

पूरा APK हस्ताक्षरकर्ता गाइड - सीखें कि apksigner, जारसाइनर, या डीबग कीस्टोर का उपयोग करके APK फ़ाइलों पर हस्ताक्षर करें कैसे करें। डेवलपर्स और परीक्षकों के लिए निःशुल्क चरण-दर-चरण APK हस्ताक्षर ट्यूटोरियल। Android स्टूडियो के बिना APK साइन करें.

APK फ़ाइलों पर हस्ताक्षर करने की आवश्यकता क्यों है?

प्रत्येक Android ऐप को इंस्टॉल करने से पहले डिजिटल रूप से हस्ताक्षरित होना चाहिए। हस्ताक्षर कई उद्देश्यों को पूरा करता है:

  • ऐप डेवलपर की पहचान सत्यापित करता है
  • यह सुनिश्चित करता है कि APK के साथ छेड़छाड़ नहीं की गई है
  • Android को ऐप अपडेट को मूल से मिलान करने की अनुमति देता है
  • सभी Android डिवाइस पर इंस्टॉल करने के लिए आवश्यक है

डेस्कटॉप टूल आवश्यक

APK साइनिंग के लिए कमांड-लाइन टूल्स (जेडीके/Android SDK) की आवश्यकता होती है। यह वेब ब्राउज़र में नहीं किया जा सकता. अपने कंप्यूटर पर APK पर हस्ताक्षर करने के लिए नीचे दी गई मार्गदर्शिका का पालन करें।

विधि 1: apksigner के साथ हस्ताक्षर करें (अनुशंसित)

apksigner Google का आधिकारिक APK साइनिंग टूल है, जो Android SDK बिल्ड टूल्स में शामिल है।

चरण 1: एक कीस्टोर उत्पन्न करें

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

चरण 2: APK पर हस्ताक्षर करें

apksigner sign --ks my-release-key.jks \
  --ks-key-alias my-key-alias \
  --out signed-app.apk unsigned-app.apk

चरण 3: हस्ताक्षर सत्यापित करें

apksigner verify --verbose signed-app.apk

विधि 2: jarsigner के साथ हस्ताक्षर करें (विरासत)

# Sign
jarsigner -verbose -sigalg SHA256withRSA \
  -digestalg SHA-256 \
  -keystore my-release-key.jks \
  app-unsigned.apk my-key-alias

# Verify
jarsigner -verify -verbose app-signed.apk

चरण 4: ज़िपलाइन (महत्वपूर्ण!)

हस्ताक्षर करने के बाद, APK को ज़िपलाइन के साथ अनुकूलित करें:

zipalign -v 4 signed-app.apk aligned-app.apk

डिबग साइनिंग (परीक्षण के लिए)

परीक्षण उद्देश्यों के लिए, आप डिफ़ॉल्ट Android डिबग कीस्टोर का उपयोग कर सकते हैं:

# Location of debug keystore:
# Linux/Mac: ~/.android/debug.keystore
# Windows: C:\Users\{USERNAME}\.android\debug.keystore

# Sign with debug key
apksigner sign --ks ~/.android/debug.keystore \
  --ks-key-alias androiddebugkey \
  --ks-pass pass:android \
  app.apk

हस्ताक्षर उपकरण तुलना

मापदंडapksignerjarsigner
V1 हस्ताक्षर
V2 हस्ताक्षर
V3 हस्ताक्षर
अनुशंसितपरंपरा

APK हस्ताक्षरकर्ता - अक्सर पूछे जाने वाले प्रश्न

APK साइनिंग, कीस्टोर्स और Android कोड साइनिंग के बारे में सामान्य प्रश्न

एक APK फ़ाइल पर हस्ताक्षर करें के लिए, आपको apksigner (अनुशंसित) या jarsigner की आवश्यकता है: (1) keytool -genkey का उपयोग करके एक कीस्टोर जेनरेट करें, (2) apksigner sign --ks my-key.jks --out signed.apk unsigned.apk के साथ APK पर हस्ताक्षर करें, (3) apksigner verify signed.apk के साथ हस्ताक्षर सत्यापित करें। आप परीक्षण उद्देश्यों के लिए Android डिबग कीस्टोर का भी उपयोग कर सकते हैं। यह Android स्टूडियो के बिना APK पर हस्ताक्षर करें का मानक तरीका है।

हालाँकि आप सुरक्षित रूप से APK पर ऑनलाइन हस्ताक्षर करें नहीं कर सकते (क्योंकि APK साइनिंग के लिए आपके निजी कीस्टोर की आवश्यकता होती है जिसे कभी भी किसी सर्वर पर अपलोड नहीं किया जाना चाहिए), आप अपने स्थानीय मशीन पर APK फ़ाइलों पर हस्ताक्षर करने के लिए हमारे मुफ्त APK हस्ताक्षरकर्ता गाइड का उपयोग कर सकते हैं। हमारा चरण-दर-चरण ट्यूटोरियल आपको Google के आधिकारिक apksigner और jarsigner टूल का उपयोग करके पूरी प्रक्रिया से परिचित कराता है। हस्ताक्षर करने के बाद, हस्ताक्षर को निःशुल्क ऑनलाइन सत्यापित करने के लिए हमारे APK हस्ताक्षर सत्यापनकर्ता का उपयोग करें।

V1 (JAR हस्ताक्षर): मूल Android हस्ताक्षर योजना। प्रत्येक ज़िप प्रविष्टि को व्यक्तिगत रूप से सत्यापित करता है। धीमा लेकिन सभी Android संस्करणों के साथ व्यापक रूप से संगत। V2 (APK हस्ताक्षर योजना): Android 7.0 में पेश किया गया। तेज़ इंस्टालेशन प्रदान करते हुए संपूर्ण APK को समग्र रूप से सत्यापित करता है। वी3 (APK हस्ताक्षर योजना वी3): Android 9.0+, कुंजी रोटेशन का समर्थन करता है। वी4: Android 11.0+, स्ट्रीमिंग इंस्टॉल सक्षम करता है। सभी योजनाओं का समर्थन करने के लिए apksigner का उपयोग करें; Jarsigner केवल V1 का समर्थन करता है।

Android स्टूडियो के बिना APK पर हस्ताक्षर करें के लिए: (1) जावा जेडीके 8 या उच्चतर स्थापित करें, (2) Android SDK बिल्ड टूल डाउनलोड करें जिसमें apksigner शामिल है, या स्टैंडअलोन बंडल टूल डाउनलोड करें, (3) एक कीस्टोर जेनरेट करें: keytool -genkey -v -keystore my-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias, (4) साइन: apksigner sign --ks my-key.jks --out signed.apk app.apk। यह विधि पूर्ण Android स्टूडियो इंस्टॉलेशन की आवश्यकता के बिना Windows, मैक और लिनक्स पर काम करती है।

ज़िपलाइन एक Android SDK टूल है जो 4-बाइट सीमाओं पर APK के भीतर असम्पीडित डेटा को संरेखित करता है। जब ऐप किसी डिवाइस पर चलता है तो यह अनुकूलन रैम की खपत को कम कर देता है। महत्वपूर्ण: यदि apksigner का उपयोग कर रहे हैं, तो हस्ताक्षर करने से पहले ज़िपलाइन चलाएँ। यदि jarsigner (विरासत) का उपयोग कर रहे हैं, तो हस्ताक्षर करने के बाद ज़िपलाइन चलाएँ। आदेश: zipalign -v 4 input.apk output.apk. Google Play को सबमिशन के लिए APK को ज़िपलाइन करना आवश्यक है।

Android 11-15 पर एलाइनमेंट ऑर्डर (apksigner से पहले जिपलाइन) क्यों मायने रखता है

संशोधित या मर्ज किए गए APK पर हस्ताक्षर करते समय डेवलपर्स और मॉडर्स द्वारा की जाने वाली सबसे आम गलतियों में से एक पैकेज पर हस्ताक्षर करते समय zipalign बाद चलाना है - या Google के Android SDK apksigner के बजाय जावा की विरासत jarsigner उपयोगिता का उपयोग करना है। क्योंकि APK सिग्नेचर स्कीम v2 और v3 ज़िप संग्रह के संपूर्ण बाइनरी लेआउट पर एक क्रिप्टोग्राफ़िक हैश की गणना करते हैं, हस्ताक्षर करने के तुरंत बाद zipalign के साथ बाइट ऑफसेट को संशोधित करने से v2/v3 हस्ताक्षर ब्लॉक अमान्य हो जाता है।

Android 11 (एपीआई स्तर 30) से शुरू होकर और Android 14 और 15 पर सख्ती से लागू होने पर, पैकेजमैनेजर को आधुनिक SDK स्तरों को लक्षित करने वाले किसी भी APK के लिए दो गैर-परक्राम्य शर्तों की आवश्यकता होती है:

  • असम्पीडित 4-बाइट संरेखित resources.arsc: संकलित संसाधन तालिका (resources.arsc) को असंपीड़ित (STORED) संग्रहीत किया जाना चाहिए और 4-बाइट सीमा पर संरेखित किया जाना चाहिए ताकि Android इसे रैम में कॉपी किए बिना सीधे मेमोरी-मैप (mmap) कर सके। हमेशा zipalign -p -f -v 4 input.apk aligned.apk पहले हस्ताक्षर निष्पादित करें।
  • अनिवार्य v2+ हस्ताक्षर ब्लॉक: jarsigner (जो केवल v1 META-INF/ हस्ताक्षर लिखता है) के साथ एपीआई 30+ को लक्षित करने वाले APK पर हस्ताक्षर करने से Android 11-15 INSTALL_PARSE_FAILED_NO_CERTIFICATES के साथ इंस्टॉल को अस्वीकार कर देगा। अपने कीस्टोर के लिए सटीक apksigner --v2-signing-enabled=true कमांड बनाने के लिए ऊपर दिए गए इंटरैक्टिव कमांड जनरेटर का उपयोग करें, या हमारे APK हस्ताक्षर सत्यापनकर्ता में अपने हस्ताक्षरित आउटपुट को सत्यापित करें।
एमएसटी शेफेल द्वारा इंजीनियर और प्रलेखित लीड डेवलपर और Android पैकेज आर्किटेक्ट • Android 12-15 पर सत्यापित

XAPKS से APK टूलकिट में प्रत्येक उपयोगिता जावास्क्रिप्ट और वेबअसेंबली के माध्यम से आपके ब्राउज़र में 100% स्थानीय रूप से चलती है। एक विशिष्ट पैकेज के साथ एक एज केस मिला? हमारी इंजीनियरिंग टीम को इसकी रिपोर्ट करें।