Android ایپ بنڈل (AAB): ڈیولپرز اور صارفین کے لیے ایک مکمل گائیڈ

A sealed parcel labeled AAB on a developer desk, illustrating the Android App Bundle format

اگست 2021 میں، گوگل نے ایک فیصلہ کیا جس نے بنیادی طور پر Android ایپس کی تقسیم کے طریقے کو تبدیل کیا: گوگل پلے اسٹور پر جمع کرائی گئی تمام نئی ایپس کو روایتی APK کی بجائے Android ایپ بنڈل (AAB) فارمیٹ کا استعمال کرنا چاہیے۔ اس تبدیلی نے ڈویلپرز، صارفین اور تھرڈ پارٹی ایپ ڈسٹری بیوشن کا پورا ایکو سسٹم متاثر کیا۔ لیکن ایپ بنڈل بالکل کیا ہے، یہ کیسے کام کرتا ہے، اور آپ کو کیوں خیال رکھنا چاہئے؟

یہ گائیڈ AAB فارمیٹ کے تکنیکی انٹرنل سے لے کر ان صارفین کے لیے عملی مضمرات تک ہر چیز کا احاطہ کرتا ہے جو ایپس کو دوستوں کے ساتھ شیئر کرنا چاہتے ہیں یا انہیں Play Store تک رسائی کے بغیر آلات پر انسٹال کرنا چاہتے ہیں۔

Android ایپ بنڈل کیا ہے؟

Android ایپ بنڈل ایک پبلشنگ فارمیٹ ہے جس میں ایپ کے تمام مرتب کردہ کوڈ اور وسائل ہوتے ہیں لیکن یہ حتمی انسٹال کیے جانے کے قابل APK کی تخلیق کو Google Play پر موخر کرتا ہے۔ اسے ایک ماسٹر ٹیمپلیٹ کے طور پر سمجھیں جس سے گوگل کے سرورز آپٹمائزڈ، ڈیوائس کے لیے مخصوص پیکجز تیار کرتے ہیں۔

ایک APK کے برعکس، جو انسٹال کرنے کے لیے تیار پیکج ہے، AAB فائل کو براہ راست ڈیوائس پر انسٹال نہیں کیا جا سکتا۔ یہ ایک تعمیراتی نمونہ ہے جسے Play Store پر اپ لوڈ کیا جاتا ہے، جہاں Google کا انفراسٹرکچر اس پر کارروائی کرتا ہے اور ہر ڈیوائس کی ترتیب کے لیے موزوں APKs تیار کرتا ہے۔

فائل کی توسیع .aab ہے، اور اندرونی طور پر یہ زپ نما ساخت کے ساتھ مل کر پروٹوکول بفر فارمیٹ کا استعمال کرتی ہے۔ اس میں ایپ کا DEX بائیک کوڈ، وسائل، اثاثے، مقامی لائبریریاں، اور ایک خصوصی بنڈل میٹا ڈیٹا فائل ہے جو Google Play کو بتاتی ہے کہ مواد کو کیسے تقسیم کیا جائے۔

گوگل مینڈیٹڈ ایپ بنڈلز کیوں

ایپ بنڈلز کے پیچھے بنیادی محرک ایپ ڈاؤن لوڈ کے سائز کو کم کرنا ہے۔ ایک عام Android ایپ کو متعدد اسکرین ڈینسٹیز (mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi)، ایک سے زیادہ CPU آرکیٹیکچرز (armeabi-v7a، arm64-v8a، x86, x86_64) اور متعدد زبانوں کو سپورٹ کرنے کی ضرورت ہے۔ روایتی APK ماڈل میں، یہ تمام وسائل ایک فائل میں بنڈل ہوتے ہیں، حالانکہ کسی بھی ڈیوائس کو ان میں سے صرف ایک حصہ کی ضرورت ہوتی ہے۔

ایک ایسے گیم پر غور کریں جس میں چار CPU فن تعمیر کے لیے مقامی لائبریریاں اور پانچ اسکرین کی کثافتوں کے لیے بناوٹ شامل ہوں۔ یونیورسل APK 200 MB ہو سکتا ہے، لیکن آلہ کے لیے مخصوص ورژن جس میں صرف متعلقہ فن تعمیر اور کثافت 80 MB ہو سکتی ہے۔ یہ ڈاؤن لوڈ سائز میں 60% کمی ہے۔

گوگل کی رپورٹ ہے کہ ایپ بنڈلز استعمال کرنے والی ایپس اپنے عالمگیر APK کے مساوی سے اوسطاً 15% چھوٹی ہیں۔ بڑی ایپس اور گیمز کے لیے، بچت بہت زیادہ ڈرامائی ہو سکتی ہے۔ چھوٹے ڈاؤن لوڈز کا مطلب ہے تیز انسٹالز، کم بینڈوتھ کی کھپت، اور سائز کے خدشات کی وجہ سے کم ترک شدہ تنصیبات۔

ایپ بنڈلز اندرونی طور پر کیسے کام کرتے ہیں۔

بنڈل کا ڈھانچہ

ایک AAB فائل کو ماڈیولز میں منظم کیا جاتا ہے، ہر ماڈیول میں اس کا اپنا کوڈ، وسائل اور اثاثے ہوتے ہیں۔ سب سے عام ساخت میں شامل ہیں:

  • بیس ماڈیول: بنیادی ایپ کوڈ اور وسائل پر مشتمل ہے جن کی ہر ڈیوائس کو ضرورت ہے۔ یہ ہمیشہ انسٹال ہوتا ہے۔
  • ترتیب تقسیم: زبان کے وسائل، اسکرین کثافت کے وسائل، اور ABI (CPU فن تعمیر) مقامی لائبریریوں کے لیے الگ حصے۔
  • متحرک فیچر ماڈیولز: اختیاری ماڈیولز جو ابتدائی انسٹالیشن کے بعد ڈیمانڈ پر ڈاؤن لوڈ کیے جاسکتے ہیں۔
  • اثاثہ جات: بڑے اثاثے جیسے گیم لیول یا میڈیا جو انسٹال کے وقت، ڈیمانڈ پر یا پس منظر میں ڈیلیور کیے جا سکتے ہیں۔

APK جنریشن کو تقسیم کریں۔

جب کوئی صارف Play Store سے کوئی ایپ ڈاؤن لوڈ کرتا ہے، تو Google کے سرورز ڈیوائس کی کنفیگریشن کی جانچ کرتے ہیں اور اس مخصوص ڈیوائس کے مطابق اسپلٹ APKs کا ایک سیٹ تیار کرتے ہیں۔ ایک عام تنصیب میں شامل ہوسکتا ہے:

  • base.apk، بنیادی ایپلیکیشن کوڈ اور ضروری وسائل
  • split_config.arm64_v8a.apk، آلہ کے CPU کے لیے مقامی لائبریریاں
  • split_config.xxhdpi.apk، ڈیوائس کی اسکرین کی کثافت کے لیے وسائل
  • split_config.en.apk، صارف کے مقام کے لیے زبان کے وسائل

یہ تقسیم شدہ APK ایک واحد منطقی ایپ کے بطور ایک ساتھ انسٹال کیے گئے ہیں۔ Android پیکج مینیجر ان کے ساتھ ایک ایپلیکیشن سمجھتا ہے، لیکن وہ ڈیوائس پر جسمانی طور پر الگ فائلز ہیں۔ یہ وہ طریقہ کار ہے جو سائز کی بچت کو قابل بناتا ہے۔

متحرک ترسیل

ایپ بنڈلز کی سب سے طاقتور خصوصیات میں سے ایک متحرک ترسیل ہے۔ ڈویلپرز کچھ خصوصیات کو ڈیمانڈ پر ڈاؤن لوڈ کے قابل کے طور پر نشان زد کر سکتے ہیں۔ مثال کے طور پر، تصویر میں ترمیم کرنے والی ایپ میں ایک ڈائنامک فیچر ماڈیول کے طور پر جدید فلٹرز شامل ہو سکتے ہیں۔ وہ صارف جو کبھی بھی ان فلٹرز کو استعمال نہیں کرتے ہیں، انہیں کبھی بھی ڈاؤن لوڈ نہیں کرتے، اسٹوریج کی جگہ بچاتے ہیں۔

ڈائنامک فیچر ماڈیولز رن ٹائم پر Play Core لائبریری کے ذریعے ڈاؤن لوڈ اور انسٹال کیے جاتے ہیں۔ ایپ چیک کر سکتی ہے کہ آیا کوئی ماڈیول انسٹال ہے یا نہیں اور ضرورت پڑنے پر اسے ڈاؤن لوڈ کرنے کی درخواست کر سکتا ہے، اس لیے صارف کو مکمل دوبارہ انسٹال کرنے کے بجائے ایک چھوٹے ان ایپ ڈاؤن لوڈ کے طور پر نئی فعالیت کا تجربہ ہوتا ہے۔

AAB بمقابلہ APK: کلیدی فرق

ان فارمیٹس کے درمیان فرق کو سمجھنے سے یہ واضح کرنے میں مدد ملتی ہے کہ جب ہر ایک مناسب ہے:

  • انسٹالیبلٹی: APK فائلوں کو کسی بھی Android ڈیوائس پر براہ راست انسٹال کیا جا سکتا ہے۔ AAB فائلوں کو براہ راست انسٹال نہیں کیا جا سکتا اور پہلے اس پر کارروائی ہونی چاہیے۔
  • سائز: ایک عالمگیر APK تمام کنفیگریشنز کے وسائل پر مشتمل ہے۔ AAB آلہ کی مخصوص ترسیل کو قابل بناتا ہے، جس کے نتیجے میں چھوٹے ڈاؤن لوڈز ہوتے ہیں۔
  • دستخط کرنا: APKs کے ساتھ، ڈویلپر حتمی انسٹالیبل پیکیج پر دستخط کرتا ہے۔ AABs کے ساتھ، ڈویلپر بنڈل پر دستخط کرتا ہے، اور Google Play App Signing کا استعمال کرتے ہوئے تخلیق کردہ APKs پر دوبارہ دستخط کرتا ہے۔
  • تقسیم: APKs کو کسی بھی چینل کے ذریعے تقسیم کیا جا سکتا ہے۔ AABs بنیادی طور پر Play Store کے لیے ڈیزائن کیے گئے ہیں، حالانکہ bundletool جیسے ٹولز ان سے مقامی طور پر APKs تیار کر سکتے ہیں۔
  • اشتراک کی اہلیت: آپ آسانی سے کسی دوسرے شخص کے ساتھ APK فائل کا اشتراک کر سکتے ہیں۔ AAB سے انسٹال کردہ ایپ کا اشتراک کرنے کے لیے تمام تقسیم شدہ APKs کو جمع کرنا ضروری ہے، جو زیادہ پیچیدہ ہے۔

دستخط کرنے کا تنازعہ

AAB مینڈیٹ کے سب سے زیادہ زیر بحث پہلوؤں میں سے ایک پلے ایپ سائننگ ہے۔ جب کوئی ڈویلپر AAB اپ لوڈ کرتا ہے، تو Google صارفین کو ڈیلیور کیے گئے حتمی APKs پر دستخط کرنے کے لیے استعمال ہونے والی سائننگ کلید رکھتا ہے۔ اس کا مطلب ہے کہ گوگل تکنیکی طور پر APK مواد کو دستخط کرنے اور ڈیلیور کرنے سے پہلے اس میں ترمیم کرنے کی صلاحیت رکھتا ہے۔

گوگل کا کہنا ہے کہ یہ ضروری ہے کیونکہ انہیں اسپلٹ APK پر دستخط کرنے کی ضرورت ہے جو وہ تیار کرتے ہیں۔ ڈیولپرز اپنے اپ لوڈز کی توثیق کرنے کے لیے ایک اپ لوڈ کلید اپنے پاس رکھتے ہیں، لیکن اصل ایپ سائن کرنے والی کلید کا نظم Google کے انفراسٹرکچر کے ذریعے کیا جاتا ہے۔

زیادہ تر ڈویلپرز کے لیے، یہ ایک معقول تجارت ہے۔ Google کلیدی بیک اپ اور بازیابی کی خدمات فراہم کرتا ہے، اور کلیدی نقصان کا خطرہ (جو ایپ اپ ڈیٹس کو مستقل طور پر روکے گا) ختم ہو جاتا ہے۔ تاہم، پرائیویسی پر مرکوز ڈویلپرز اور اوپن سورس کے حامیوں نے اعتماد کی اس مرکزیت کے بارے میں تشویش کا اظہار کیا ہے۔

ایپس کا اشتراک کرنے والے صارفین کے لیے اس کا کیا مطلب ہے۔

ایپ بنڈلز میں تبدیلی کے ان صارفین کے لیے اہم مضمرات ہیں جو پلے اسٹور سے باہر ایپس کا اشتراک کرنا چاہتے ہیں:

انسٹال کردہ ایپس کو نکالنا

جب آپ AAB سے انسٹال کردہ ایپ کو نکالتے ہیں، تو آپ کو ایک بھی APK فائل نہیں ملتی ہے۔ اس کے بجائے، آپ کو تقسیم شدہ APKs کا مجموعہ ملتا ہے۔ یہ سپلٹس ڈیوائس کے لیے مخصوص ہیں، یعنی ARM64 پروسیسر اور xxhdpi اسکرین والے فون سے نکالی گئی ایپ مختلف کنفیگریشن والے ڈیوائس پر کام نہیں کرے گی۔

XAPK اور APKS فارمیٹس

تقسیم شدہ APKs کے اشتراک کے چیلنج سے نمٹنے کے لیے، XAPK اور APKS جیسے کنٹینر فارمیٹس بنائے گئے تھے۔ یہ فارمیٹس تمام تقسیم شدہ APK کو ایک ہی ڈاؤن لوڈ کے قابل فائل میں بنڈل کرتے ہیں۔ جب آپ کو کسی XAPK فائل کا سامنا ہوتا ہے، تو اس میں ممکنہ طور پر ایک ایسی ایپ ہوتی ہے جو اصل میں ایپ بنڈل کے طور پر تقسیم کی گئی تھی۔

ہمارا XAPK سے APK کنورٹر ان کنٹینر فارمیٹس سے بنیادی APK نکالنے میں آپ کی مدد کر سکتا ہے۔ تاہم، یہ بات ذہن میں رکھیں کہ ہر ڈیوائس پر ایپ کے درست طریقے سے کام کرنے کے لیے اکیلے بیس APK میں تمام وسائل شامل نہیں ہوسکتے ہیں، کیونکہ کثافت اور ABI کے مخصوص وسائل تقسیم شدہ APK میں ہوسکتے ہیں۔

بنڈل ٹول کا استعمال

گوگل ایک اوپن سورس ٹول فراہم کرتا ہے جسے bundletool کہا جاتا ہے جو مقامی طور پر AAB فائل سے APKs بنا سکتا ہے۔ ڈویلپرز اسے جانچ یا متبادل تقسیم کے لیے یونیورسل APKs بنانے کے لیے استعمال کر سکتے ہیں۔ کمانڈ ایسا لگتا ہے:

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

یہ ایک عالمگیر APK تیار کرتا ہے جس میں تمام کنفیگریشنز کے تمام وسائل شامل ہیں۔ یہ ڈیوائس کے لیے مخصوص تعمیر سے بڑا ہوگا لیکن کسی بھی ڈیوائس پر کام کرتا ہے۔ یہ ہمارے AAB سے APK کنورٹر کی طرف سے استعمال کیا جاتا نقطہ نظر ہے.

متبادل ایپ اسٹورز پر اثرات

AAB مینڈیٹ بنیادی طور پر Google Play Store کو متاثر کرتا ہے۔ متبادل ایپ اسٹورز اور براہ راست تقسیم کے چینل اب بھی APK فائلوں کو قبول کر سکتے ہیں۔ وہ ڈویلپر جو Play سے باہر تقسیم کرنا چاہتے ہیں وہ اپنے AAB اپ لوڈز کے ساتھ یونیورسل APKs بنانا جاری رکھ سکتے ہیں۔

تاہم، کچھ ڈویلپرز صرف AABs بناتے ہیں اور مکمل طور پر تقسیم کے لیے Play پر انحصار کرتے ہیں۔ اس کا مطلب ہے کہ ان ڈویلپرز کی ایپس کو Play Store ماحولیاتی نظام سے باہر حاصل کرنا مشکل ہے۔ فریق ثالث ایپ ریپوزٹریوں نے یا تو تقسیم شدہ APK مجموعہ (XAPK یا APKS فائلوں کے طور پر) کی میزبانی کرکے یا عالمگیر APKs بنانے کے لیے بنڈل ٹول کا استعمال کر کے موافق بنایا ہے۔

پریکٹس میں متحرک فیچر ماڈیولز

ڈائنامک فیچر ماڈیولز ایپ بنڈل فارمیٹ کی سب سے دلچسپ صلاحیتوں میں سے ایک کی نمائندگی کرتے ہیں۔ یہاں کچھ حقیقی دنیا کے استعمال کے معاملات ہیں:

  • کیمرے کی خصوصیات: ایک ایپ میں اے آر فلٹرز کو ایک ڈائنامک ماڈیول کے طور پر شامل کیا جا سکتا ہے، صرف اس وقت ڈاؤن لوڈ کیا جاتا ہے جب صارف پہلی بار کیمرہ فیچر تک رسائی حاصل کرتا ہے۔
  • زبان کے پیک: کم عام زبانوں کے لیے ترجمہ ڈیٹا ہر انسٹالیشن کے ساتھ بنڈل کرنے کے بجائے ڈیمانڈ پر ڈیلیور کیا جا سکتا ہے۔
  • کھیل کی سطح: گیمز ابتدائی ڈاؤن لوڈ کو چھوٹا رکھتے ہوئے کھلاڑیوں کی ترقی کے ساتھ اضافی مواد فراہم کر سکتے ہیں۔
  • پیشہ ورانہ اوزار: پیداواری ایپس میں جدید خصوصیات صرف ان صارفین تک پہنچائی جا سکتی ہیں جنہیں ان کی ضرورت ہے۔

صارفین کے لیے، اس کا مطلب ہے کہ ایک ایپ کا انسٹال کردہ سائز وقت کے ساتھ ساتھ بڑھ سکتا ہے کیونکہ ڈائنامک ماڈیولز ڈاؤن لوڈ ہوتے ہیں۔ اس کا مطلب یہ بھی ہے کہ ایسی ایپ کو شیئر کرنے کے لیے ڈاؤن لوڈ کیے گئے تمام ماڈیولز کو شامل کرنے کی ضرورت ہوتی ہے، جس سے نکالنے کے عمل کو مزید پیچیدہ ہوتا ہے۔

ڈویلپرز کے لیے بہترین طرز عمل

اگر آپ Android ایپس تیار کر رہے ہیں تو ایپ بنڈلز کے ساتھ مؤثر طریقے سے کام کرنے کے لیے یہاں تجاویز ہیں:

  1. Play پر اپ لوڈ کرنے سے پہلے ہمیشہ مقامی طور پر بنڈل ٹول سے ٹیسٹ کریں۔۔ آلہ کے لیے مخصوص APKs بنائیں اور تصدیق کریں کہ وہ صحیح طریقے سے کام کرتے ہیں۔
  2. Play Console کا اندرونی ٹیسٹنگ ٹریک استعمال کریں۔ اس بات کی توثیق کرنے کے لیے کہ تقسیم شدہ APK اصلی آلات پر درست طریقے سے انسٹال اور کام کرتے ہیں۔
  3. یونیورسل APK فراہم کرنے پر غور کریں۔ متبادل ڈسٹری بیوشن چینلز کے لیے اگر آپ کا صارف کی بنیاد Play Store سے باہر پھیلی ہوئی ہے۔
  4. متحرک فیچر ماڈیول کی حدود کا خیال رکھیں۔ وہ خصوصیات جو اکثر استعمال ہوتی ہیں وہ بیس ماڈیول میں ہونی چاہئیں، متحرک ماڈیولز میں نہیں۔
  5. مختلف کنفیگریشن والے آلات پر ٹیسٹ کریں۔ اس بات کو یقینی بنانے کے لیے کہ کنفیگریشن اسپلٹس درست طریقے سے تیار کیے گئے ہیں اور کوئی وسائل غائب نہیں ہیں۔
  6. اپنی اپ لوڈ کلید کو محفوظ رکھیں۔ جب کہ Google ایپ سائننگ کلید کا نظم کرتا ہے، آپ کی اپ لوڈ کلید آپ کی شناخت کی بطور ڈیولپر تصدیق کرتی ہے۔

ایپ کی تقسیم کا مستقبل

ایپ بنڈل کا فارمیٹ تیار ہوتا رہتا ہے۔ Google نے بڑے گیم اثاثوں کے لیے Play Asset Delivery، SDKs اشتہارات کے لیے SDK رن ٹائم، اور Wear OS اور Android TV کنفیگریشنز کے لیے بہتر سپورٹ جیسی خصوصیات متعارف کرائی ہیں۔ رجحان ایپ کے اجزاء کی زیادہ دانے دار، آن ڈیمانڈ ڈیلیوری کی طرف ہے۔

صارفین کے لیے، اس کا مطلب ہے کہ Play Store ایپس کے لیے واحد، خود ساختہ ایپ فائل کا تصور کم عام ہوتا جا رہا ہے۔ XAPK، APKS، اور ان کے ساتھ کام کرنے کے لیے دستیاب ٹولز جیسے فارمیٹس کو سمجھنا ہر اس شخص کے لیے تیزی سے اہم ہو جاتا ہے جو Play Store کے معیاری بہاؤ سے باہر ایپس کا نظم کرتا ہے۔

AAB بمقابلہ یونیورسل APK کب بنانا ہے۔

Android ایپ بنڈل ایپس کو پیک اور ڈیلیور کرنے کے طریقہ کار میں ایک بنیادی تبدیلی کی نمائندگی کرتا ہے۔ اگرچہ یہ ڈاؤن لوڈ کے سائز اور ڈیلیوری کی کارکردگی کے لحاظ سے حقیقی فوائد لاتا ہے، یہ ان صارفین کے لیے پیچیدگی بھی متعارف کراتا ہے جو ایپس کا اشتراک کرتے ہیں یا انہیں متبادل ذرائع سے انسٹال کرتے ہیں۔ یہ سمجھنا کہ AABs کیسے کام کرتے ہیں، وہ کس طرح تقسیم شدہ APKs تیار کرتے ہیں، اور فارمیٹس کے درمیان کنورٹ کرنے کے لیے کون سے ٹولز دستیاب ہیں آپ کو وہ چیز ملتی ہے جو آپ کو صحیح فارمیٹ چننے اور ان کے درمیان اعتماد کے ساتھ تبدیل کرنے کی ضرورت ہے۔

ڈیولپرز AAB تک پہنچتے ہیں تاکہ یہ بہتر ہو کہ ایپ کیسے ڈیلیور کی جاتی ہے۔ زیادہ تر روزمرہ استعمال کرنے والے اس سے صرف اس وقت ملتے ہیں جب وہ Play Store تک رسائی کے بغیر کسی ڈیوائس پر کچھ انسٹال کرنے کی کوشش کرتے ہیں۔ کسی بھی طرح سے، یاد رکھنے کے قابل چیز آسان ہے: AAB ایک اشاعت کی شکل ہے، تنصیب کی شکل نہیں، اور ایسے اوزار موجود ہیں جو دونوں کے درمیان فرق کو ختم کرتے ہیں۔

انجینئرڈ اور دستاویزی Mst Shafale کے ذریعہ لیڈ ڈیولپر اور Android پیکیج آرکیٹیکٹ • Android 12–15 پر تصدیق شدہ

Mst Shaefale xapktoapk.com پر کلائنٹ سائڈ XAPK/APKS انضمام، بائنری مینی فیسٹ پارسر، اور APK v1+v2 سائننگ ٹولز کو برقرار رکھتی ہے۔ ایک پرانی کمانڈ یا OS کی تبدیلی کو اسپاٹ کریں؟ ایک ادارتی نوٹ بھیجیں۔