AAB کو APK آن لائن میں تبدیل کریں: یہ ٹول دراصل کیا کرتا ہے۔
Android ایپ بنڈل (.aab) وہ فارمیٹ ہے جو گوگل پلے ڈویلپرز کو اپ لوڈ کرنے کو کہتا ہے، لیکن یہ ایسی چیز نہیں ہے جسے آپ فون پر انسٹال کر سکتے ہیں۔ اگر آپ کے پاس بلڈ سرور، CI پائپ لائن، یا کسی ساتھی سے .aab فائل ہے، تو آپ کو پہلے اسے انسٹال کرنے کے قابل .apk میں تبدیل کرنا ہوگا۔ یہ صفحہ آپ کو اس کام کے لیے دو چیزیں فراہم کرتا ہے: ایک انٹرایکٹو AAB سے APK کمانڈ بلڈر جو آپ کے آپریٹنگ سسٹم کے لیے عین مطابق bundletool کمانڈ لکھتا ہے، اور ایک AAB فائل ایکسپلورر جو آپ کے براؤزر میں بنڈل کو کھولتا ہے تاکہ آپ اسے تبدیل کرنے سے پہلے دیکھ سکیں کہ اندر کیا ہے۔
تبدیلی خود گوگل کے آفیشل bundletool کے ذریعے چلتی ہے، جو ایک جاوا پروگرام ہے۔ چونکہ بنڈل ٹول کو جاوا رن ٹائم اور آپ کے کی اسٹور تک رسائی کی ضرورت ہے، اس لیے اصل تعمیراتی مرحلہ آپ کی اپنی مشین پر ہوتا ہے، ہمارے سرورز پر نہیں۔ آپ کی .aab فائل کبھی بھی کہیں اپ لوڈ نہیں ہوتی ہے۔ بلڈر آسانی سے اندازے کو ہٹاتا ہے تاکہ آپ پرچم کے ناموں کو حفظ کرنے کے بجائے ایک درست، چلانے کے لیے تیار کمانڈ کاپی کر سکیں۔
AAB بمقابلہ APK: آپ فائل کا نام تبدیل کیوں نہیں کرسکتے ہیں۔
بہت سارے لوگ ایکسٹینشن کا نام تبدیل کرکے AAB کو APK میں تبدیل کرنے کا طریقہ تلاش کرتے ہیں، اور یہ کبھی کام نہیں کرتا ہے۔ .apk ایک واحد، خود ساختہ پیکیج ہے جسے Android براہ راست انسٹال کر سکتا ہے۔ ایک .aab ایک پبلشنگ کنٹینر ہے: اس میں آپ کے مرتب کردہ کوڈ اور وسائل کو ماڈیولز میں تقسیم کیا جاتا ہے، اور یہ توقع کرتا ہے کہ Google Play یا bundletool اس سے حتمی، ڈیوائس کے لیے موزوں APKs تیار کرے گا۔ فائل کا نام بدلنا ان ماڈیولز کو کھولتا ہے یا کسی چیز پر دستخط نہیں کرتا ہے، لہذا Android اسے انسٹال کرنے سے انکار کرتا ہے۔ Android ایپ بنڈل سے APK کو تبدیل کرنے کا واحد قابل اعتماد طریقہ یہ ہے کہ bundletool کو آپ کے لیے APK سیٹ بنانے دیں۔
Windows، میک اور لینکس پر AAB کو APK میں کیسے تبدیل کیا جائے۔
اقدامات ہر پلیٹ فارم پر ایک جیسے ہوتے ہیں، اور صرف فائل پاتھ کا انداز تبدیل ہوتا ہے، یہی وجہ ہے کہ اوپر کمانڈ بلڈر کے پاس Windows، macOS اور لینکس سوئچ ہے۔ شروع سے آخر تک مکمل بہاؤ یہ ہے:
- Java JDK 8 یا جدید تر انسٹال کریں۔ java -version کو ٹرمینل میں چلائیں اس بات کی تصدیق کے لیے کہ Java آپ کے PATH پر ہے۔
- بنڈل ٹول ڈاؤن لوڈ کریں۔ تازہ ترین bundletool-all.jar گوگل کے آفیشل GitHub ریلیزز صفحہ سے حاصل کریں۔
- APK سیٹ بنائیں۔ پوائنٹ بنڈل ٹول کو اپنے بنڈل پر رکھیں اور اسے ایک .apks آرکائیو بنانے دیں: java -jar bundletool-all.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
- .apks آرکائیو کھولیں۔ یہ صرف ایک زپ فائل ہے، لہذا اسے نکالیں اور آپ کو universal.apk اندر مل جائے گا۔
- اپنے آلے پر انسٹال کریں۔ APK کو اپنے فون پر کاپی کریں اور اسے سائیڈ لوڈ کریں، یا USB پر منسلک ڈیوائس کے ساتھ bundletool install-apks استعمال کریں۔
یونیورسل APK بمقابلہ اسپلٹ APKs: آپ کو کون سا بنانا چاہئے؟
اگر آپ ایک فائل چاہتے ہیں جو کسی بھی فون پر انسٹال ہو تو --mode=universal استعمال کریں۔ یہ ایک واحد آپ کے AAB سے یونیورسل APK بناتا ہے جو ہر CPU فن تعمیر، اسکرین کی کثافت، اور زبان کو ایک پیکیج میں بناتا ہے۔ یہ بڑا ہے، لیکن یہ پلے اسٹور سے باہر کسی تعمیر کو جانچنے، محفوظ کرنے یا شیئر کرنے کا آسان ترین آپشن ہے۔ اگر آپ موڈ کو چھوڑ دیتے ہیں، تو بنڈل ٹول اس کے بجائے اسپلٹ APK تیار کرتا ہے جو ایک مخصوص ڈیوائس کے لیے تراشے جاتے ہیں، اس لیے وہ چھوٹے ڈاؤن لوڈ ہوتے ہیں لیکن آپ کو مماثل سیٹ ایک ساتھ انسٹال کرنا ہوتا ہے۔ زیادہ تر لوگوں کے لیے جنہیں فوری انسٹال کرنے کے لیے صرف .aab کو تبدیل کرنے کی ضرورت ہے، یونیورسل APK صحیح انتخاب ہے۔
AAB سے حاصل کردہ APK پر دستخط کرنا
Android اس وقت تک APK انسٹال نہیں کرے گا جب تک کہ اس پر دستخط نہ ہوں۔ جانچ کے لیے، بنڈل ٹول خود بخود ڈیبگ کلید کے ساتھ دستخط کر سکتا ہے، جو بلڈر میں "ڈیبگ کی اسٹور کا استعمال کریں" کا اختیار بالکل وہی کرتا ہے۔ اگر آپ ریلیز کی تیاری کر رہے ہیں، مثال کے طور پر اپنی ویب سائٹ پر تقسیم کرنے کے لیے، کی اسٹور پاتھ، کی اسٹور پاس ورڈ، کلیدی عرف، اور کلیدی پاس ورڈ کی فیلڈز کو بھر کر اسے اپنے کی اسٹور سے سائن کریں۔ بلڈر اس کے بعد --ks, --ks-pass, --ks-key-alias، اور --key-pass جھنڈے شامل کرتا ہے تاکہ آپ کو جو APK ملتا ہے وہ آپ کے حقیقی پروڈکشن کے دستخط کے ساتھ پھینکے جانے والے ڈیبگ کے بجائے رکھتا ہے۔
بنڈل ٹول کی عام غلطیاں اور ان کو کیسے ٹھیک کیا جائے۔
دو مسائل بار بار سامنے آتے ہیں۔ پیغام "bundletool: command not found" کا مطلب ہے کہ آپ نے bundletool کو چلانے کی کوشش کی گویا یہ ایک بلٹ ان کمانڈ ہے۔ یہ ایک JAR فائل ہے، لہذا آپ اسے ہمیشہ java -jar bundletool-all.jar کے ساتھ کال کریں۔ "کوئی کلید/سرٹیفکیٹ نہیں" کی خرابی کا مطلب ہے کہ دستخط کرنے کی تفصیلات غائب ہیں: یا تو غیر دستخط شدہ ٹیسٹ بلڈ کے لیے --mode=universal شامل کریں، یا اوپر بیان کیے گئے اپنے کی اسٹور کے جھنڈے فراہم کریں۔ صفحہ کے اوپر ٹربل شوٹنگ ٹیب ان میں سے زیادہ کا احاطہ کرتا ہے، اور AAB ایکسپلورر آپ کو اس بات کی تصدیق کرنے دیتا ہے کہ آپ کے بنڈل میں واقعی وہ ماڈیول شامل ہیں جن کی آپ توقع کرتے ہیں اس سے پہلے کہ آپ کمانڈ کو ڈیبگ کرنے میں وقت گزاریں۔
آپ کو اصل میں AAB کو تبدیل کرنے کی ضرورت کب ہوگی؟
عام وجوہات میں شائع کرنے سے پہلے ایک حقیقی ڈیوائس پر ریلیز کی تعمیر کی جانچ کرنا، کسی ایسے ٹیسٹر کے حوالے کرنا جو گوگل پلے کا استعمال نہیں کرتا، اپنے ریکارڈز کے لیے آپ کی اپنی ایپ کی انسٹالی کاپی رکھنا، یا ایسے ہارڈ ویئر پر QA چلانا جس تک Play اسٹور کی اندرونی جانچ نہیں پہنچتی ہے۔ وجہ کچھ بھی ہو، صرف ان ایپ بنڈلز کو تبدیل کریں جنہیں استعمال کرنے کا آپ کو حق ہے، جیسے کہ آپ کی اپنی تعمیرات یا بنڈلز جن کے ساتھ آپ کو کام کرنے کی واضح اجازت ہے۔