डेवलपर टूल

AAB से APK कन्वर्टर ऑनलाइन मुफ़्त - कन्वर्ट ऐप बंडल

मुफ़्त ऑनलाइन AAB से APK कनवर्टर - इंटरैक्टिव कमांड बिल्डर, AAB फ़ाइल एक्सप्लोरर, चरण-दर-चरण रूपांतरण विज़ार्ड और समस्या निवारण मार्गदर्शिका। Windows, मैक और लिनक्स पर काम करता है।

1. अपना ओएस चुनें

2. AAB फ़ाइल पथ

3. आउटपुट APK पथ

4. हस्ताक्षर विन्यास

5. विकल्प

जेनरेटेड कमांड


आवश्यक शर्तें

जावा जेडीके 8+ स्थापित
bundletool.जर डाउनलोड किया गया
Android SDK (वैकल्पिक, डिवाइस-विशिष्ट के लिए)
bundletool डाउनलोड करें

अन्वेषण करने के लिए AAB फ़ाइल छोड़ें

किसी भी AAB फ़ाइल की आंतरिक संरचना देखें

.aab फ़ाइलों का समर्थन करता है
1

bundletool डाउनलोड करें

bundletool AAB संचालन के लिए Google का आधिकारिक टूल है। GitHub से नवीनतम संस्करण डाउनलोड करें.

wget https://github.com/google/bundletool/releases/latest/download/bundletool-all.jar
2

AAB से APK जेनरेट करें

अपनी AAB फ़ाइल को APK के सेट में बदलने के लिए bundletool का उपयोग करें।

java -jar bundletool.jar build-apks --bundle=app.aab --output=app.apks
3

यूनिवर्सल APK जनरेट करें

एक एकल सार्वभौमिक APK बनाएं जो सभी उपकरणों पर काम करता हो।

java -jar bundletool.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
4

APKS से APK निकालें

आउटपुट .apks फ़ाइल एक ज़िप संग्रह है। इसमें सेuniversal.apk निकालें।

unzip app.apks -d output_dir/
5

डिवाइस पर इंस्टॉल करें (वैकल्पिक)

जेनरेट किए गए APK को सीधे कनेक्टेड डिवाइस पर इंस्टॉल करें।

java -jar bundletool.jar install-apks --apks=app.apks

Android ऐप बंडल (AAB) Google Play पर Android ऐप्स के लिए प्रकाशन प्रारूप है। इसमें सभी संकलित कोड और संसाधन शामिल हैं लेकिन APK जेनरेशन को Google Play पर टाल दिया गया है, जो प्रत्येक डिवाइस कॉन्फ़िगरेशन के लिए अनुकूलित APK बनाता है।

नहीं, AAB से APK रूपांतरण के लिए bundletool (एक जावा एप्लिकेशन) की आवश्यकता होती है जो वेब ब्राउज़र में नहीं चल सकता है। आपको जावा जेडीके और bundletool को स्थानीय रूप से स्थापित करने की आवश्यकता है। हमारा कमांड बिल्डर सही कमांड जेनरेट करने में मदद करता है।

यह त्रुटि तब होती है जब हस्ताक्षर संबंधी जानकारी प्रदान नहीं की जाती है। अहस्ताक्षरित परीक्षण के लिए या तो --mode=universal का उपयोग करें, या --ks, --ks-pass, --ks-key-alias, और --key-pass पैरामीटर प्रदान करें।

स्प्लिट APK विशिष्ट उपकरणों (वास्तुकला, स्क्रीन घनत्व, भाषा के आधार पर) के लिए अनुकूलित हैं। यूनिवर्सल APK में सभी कॉन्फ़िगरेशन के लिए संसाधन शामिल हैं, जिसके परिणामस्वरूप एक बड़ा लेकिन सार्वभौमिक रूप से संगत APK प्राप्त होता है।

bundletool एक JAR फ़ाइल है, सिस्टम कमांड नहीं। इसके साथ प्रयोग करें: java -jar bundletool-all.jar। सुनिश्चित करें कि Java JDK 8+ स्थापित है और JAR फ़ाइल पथ सही है।

AAB को APK ऑनलाइन में कनवर्ट करें: यह टूल वास्तव में क्या करता है

Android ऐप बंडल (.aab) वह प्रारूप है जिसे Google Play डेवलपर्स को अपलोड करने के लिए कहता है, लेकिन यह ऐसा कुछ नहीं है जिसे आप फोन पर इंस्टॉल कर सकते हैं। यदि आपके पास बिल्ड सर्वर, सीआई पाइपलाइन या किसी सहकर्मी से .aab फ़ाइल है, तो आपको सबसे पहले इसे इंस्टॉल करने योग्य .apk में बदलना होगा। यह पेज आपको उस काम के लिए दो चीजें देता है: एक इंटरैक्टिव AAB से APK कमांड बिल्डर जो आपके ऑपरेटिंग सिस्टम के लिए सटीक bundletool कमांड लिखता है, और एक AAB फ़ाइल एक्सप्लोरर जो आपके ब्राउज़र में बंडल खोलता है ताकि आप इसे परिवर्तित करने से पहले देख सकें कि अंदर क्या है।

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

AAB बनाम APK: आप फ़ाइल का नाम क्यों नहीं बदल सकते

बहुत से लोग एक्सटेंशन का नाम बदलकर AAB को APK में बदलने का तरीका खोजते हैं, और यह कभी काम नहीं करता है। .apk एक एकल, स्व-निहित पैकेज है जिसे Android सीधे इंस्टॉल कर सकता है। .aab एक प्रकाशन कंटेनर है: यह आपके संकलित कोड और संसाधनों को मॉड्यूल में विभाजित रखता है, और यह उम्मीद करता है कि Google Play या bundletool इससे अंतिम, डिवाइस-अनुकूलित APK उत्पन्न करेगा। फ़ाइल का नाम बदलने से वे मॉड्यूल अनपैक नहीं होते हैं या कुछ भी साइन नहीं होता है, इसलिए Android इसे इंस्टॉल करने से इंकार कर देता है। APK के लिए Android ऐप बंडल को परिवर्तित करने का एकमात्र विश्वसनीय तरीका bundletool को आपके लिए APK सेट बनाने देना है।

Windows, मैक और लिनक्स पर AAB को APK में कैसे बदलें

प्रत्येक प्लेटफ़ॉर्म पर चरण समान होते हैं, और केवल फ़ाइल-पथ शैली बदलती है, यही कारण है कि ऊपर दिए गए कमांड बिल्डर में Windows, macOS और लिनक्स स्विच होता है। आरंभ से अंत तक संपूर्ण प्रवाह यहां दिया गया है:

  1. यह पुष्टि करने के लिए कि जावा आपके PATH पर है, जावा जेडीके 8 या नया स्थापित करें। एक टर्मिनल में java -version चलाएँ।
  2. bundletool डाउनलोड करें. Google के आधिकारिक GitHub रिलीज़ पेज से नवीनतम bundletool-all.jar प्राप्त करें।
  3. APK सेट बनाएं। bundletool को अपने बंडल पर इंगित करें और इसे एक .apks संग्रह तैयार करने दें: java -jar bundletool-all.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
  4. .apks संग्रह खोलें. यह सिर्फ एक ज़िप फ़ाइल है, इसलिए इसे निकालें और आपको अंदर universal.apk मिलेगा।
  5. अपने डिवाइस पर इंस्टॉल करें. APK को अपने फोन में कॉपी करें और इसे साइडलोड करें, या USB से कनेक्टेड डिवाइस के साथ bundletool install-apks का उपयोग करें।

यूनिवर्सल APK बनाम स्प्लिट APK: आपको कौन सा बनाना चाहिए?

यदि आप एक फ़ाइल चाहते हैं जो किसी भी फ़ोन पर इंस्टॉल हो, तो --mode=universal का उपयोग करें। यह एक एकल आपके AAB से यूनिवर्सल APK बनाता है जो प्रत्येक सीपीयू आर्किटेक्चर, स्क्रीन घनत्व और भाषा को एक पैकेज में बंडल करता है। यह बड़ा है, लेकिन प्ले स्टोर के बाहर किसी बिल्ड का परीक्षण, संग्रह या साझा करने के लिए यह सबसे सरल विकल्प है। यदि आप मोड को छोड़ देते हैं, तो bundletool इसके बजाय स्प्लिट APK उत्पन्न करता है जो एक विशिष्ट डिवाइस के लिए ट्रिम किए जाते हैं, इसलिए वे छोटे डाउनलोड करते हैं लेकिन आपको मिलान सेट को एक साथ इंस्टॉल करना होगा। अधिकांश लोगों के लिए जिन्हें त्वरित इंस्टॉल के लिए .aab को परिवर्तित करने की आवश्यकता है, यूनिवर्सल APK सही विकल्प है।

AAB से प्राप्त APK पर हस्ताक्षर करना

Android तब तक APK इंस्टॉल नहीं करेगा जब तक उस पर हस्ताक्षर न किया गया हो। परीक्षण के लिए, bundletool स्वचालित रूप से डिबग कुंजी के साथ हस्ताक्षर कर सकता है, जो कि बिल्डर में "डिबग कीस्टोर का उपयोग करें" विकल्प बिल्कुल वैसा ही करता है। यदि आप एक रिलीज़ बिल्ड तैयार कर रहे हैं, उदाहरण के लिए अपनी वेबसाइट पर वितरित करने के लिए, तो कीस्टोर पथ, कीस्टोर पासवर्ड, कुंजी उपनाम और कुंजी पासवर्ड फ़ील्ड भरकर अपने स्वयं के कीस्टोर से उस पर हस्ताक्षर करें। इसके बाद बिल्डर --ks, --ks-pass, --ks-key-alias, और --key-pass झंडे जोड़ता है ताकि आपको जो APK मिलता है वह डिबग डिबग के बजाय आपके वास्तविक उत्पादन हस्ताक्षर को प्रदर्शित करता है।

सामान्य bundletool त्रुटियाँ और उन्हें कैसे ठीक करें

दो समस्याएँ बार-बार सामने आती हैं। संदेश "bundletool: कमांड नहीं मिला" का अर्थ है कि आपने bundletool को ऐसे चलाने का प्रयास किया जैसे कि यह एक अंतर्निहित कमांड हो। यह एक JAR फ़ाइल है, इसलिए आप इसे हमेशा java -jar bundletool-all.jar से कॉल करें। "कोई कुंजी/प्रमाणपत्र नहीं" त्रुटि का अर्थ है कि हस्ताक्षर विवरण गायब हैं: या तो अहस्ताक्षरित परीक्षण निर्माण के लिए --mode=universal जोड़ें, या ऊपर बताए अनुसार अपने कीस्टोर फ़्लैग प्रदान करें। पृष्ठ के ऊपर स्थित समस्या निवारण टैब इनमें से अधिक को कवर करता है, और AAB एक्सप्लोरर आपको किसी कमांड को डीबग करने में समय बिताने से पहले यह पुष्टि करने देता है कि आपके बंडल में वास्तव में वे मॉड्यूल हैं जिनकी आप अपेक्षा करते हैं।

आपको वास्तव में AAB को परिवर्तित करने की आवश्यकता कब होगी?

सामान्य कारण हैं प्रकाशित करने से पहले वास्तविक डिवाइस पर रिलीज़ बिल्ड का परीक्षण करना, बिल्ड को ऐसे परीक्षक को सौंपना जो Google Play का उपयोग नहीं करता है, अपने रिकॉर्ड के लिए अपने स्वयं के ऐप की इंस्टॉल करने योग्य प्रतिलिपि रखना, या हार्डवेयर पर QA चलाना जहां Play Store आंतरिक परीक्षण नहीं पहुंचता है। कारण जो भी हो, केवल उन्हीं ऐप बंडलों को कनवर्ट करें जिनका उपयोग करने का आपके पास अधिकार है, जैसे कि आपके स्वयं के बिल्ड या बंडल जिनके साथ काम करने की आपको स्पष्ट अनुमति है।

एमएसटी शेफेल द्वारा इंजीनियर और प्रलेखित लीड डेवलपर और Android पैकेज आर्किटेक्ट • Android 12-15 पर सत्यापित

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