-->

الفرق الرئيسي بين APK وAAB:كل ما تحتاج إلى معرفته!

الفرق الرئيسي بين APK وAAB:كل ما تحتاج إلى معرفته!
 مع اقتراب الإصدار الثابت من أندرويد 12 ، تجري جوجل  بعض التغييرات الأساسية على توصيل وتوزيع التطبيقات لأجهزة الأندرويد. اعتبارًا من أغسطس 2021 ، سيتم إصدار جميع التطبيقات الجديدة في Play Store بتنسيق Android App Bundle (.aab) بدلاً من تنسيق APK الحالي. إذن ما هو الفرق الرئيسي بين APK و Android App Bundle (AAB)؟ هل يمكننا تحميل AAB مثل APK؟ للإجابة على جميع أسئلتك ، قمنا بتجميع هذا الدليل التفصيلي لملفات APK و AAB. لذلك ، لا تضيعوا أي وقت ، دعونا نتعمق فيه.

APK و AAB : مقارنة كاملة

هنا ، أوضحنا تنسيقات AAB و APK بمصطلحات عامة بحيث يمكن لأي شخص فهم المفهوم بسهولة. أوضحنا أيضًا بالتفصيل كيفية تثبيت ملفات AAB واستخراج ملفات APK من AAB والمزيد. يمكنك توسيع الجدول أدناه للانتقال بسرعة إلى أي قسم ذي صلة.

APK مقابل AAB: فهم الأساسيات

أولاً ، نحتاج إلى إتقان بعض المعرفة الأساسية لفهم الفرق بين APK و (.aab) Android App Bundle.

كانت APK عبارة عن حزمة تطبيق توزيع لا غنى عنها على اندرويد منذ ولادتها. يتكون ملف APK بشكل أساسي من عدد كبير من الموارد مثل كود التطبيق والصور والصوت ومفتاح توقيع التطبيق الذي أنشأه المطور. يرجى ملاحظة أن أجهزة Android تأتي في أشكال ومواصفات مختلفة. على سبيل المثال ، يمكن أن يحتوي الجهاز على مستويات مختلفة من كثافة الشاشة (320 نقطة في البوصة ، 480 نقطة في البوصة ، إلخ) ، نوع المعالج (ARM ، ARM64 ، x86) ، إلخ. بالإضافة إلى ذلك ، اعتمادًا على منطقة المستخدم ، يجب أن يحتوي التطبيق على حزم لغات (en ، fr ، ger ، إلخ).

من الناحية المثالية ، يجب على المطورين إنشاء وتنزيل ملفات APK متعددة من متجر Play استنادًا إلى منطقة المستخدم ونوع المعالج وكثافة الشاشة. عندما يضغط المستخدمون على الزر "تثبيت" في متجر Play ، سيتم تثبيت ملف APK الصحيح والأنسب على أجهزتهم. ومع ذلك ، كل هذا يمثل مهمة شاقة للمطورين. لا يحتاجون إلى تطوير التطبيقات فحسب ، بل يحتاجون أيضًا إلى إدارة ملفات APK متعددة لدعم أجهزة متعددة.

لتجنب هذا العمل المعقد والمستهلك للوقت ، سيقوم معظم المطورين بإنشاء ملف APK عالمي يحتوي على جميع الموارد (حزم اللغات ، والأكواد ، وما إلى ذلك) ، على الرغم من أنك قد لا تحتاج إلى معظمها على هذا الجهاز. يمكن أن ينتج عن هذا ملفات APK أكبر ذات أحجام تطبيقات أكبر ، مما يتطلب وقتًا أطول للتثبيت ويستهلك مزيدًا من النطاق الترددي.

تأمل جوجل في حل هذه المشكلة وتحمل معظم العبء على المطورين من خلال حِزم تطبيقات (AAB). بدوره ، سيساعد هذا في تقليل حجم التطبيق ووقت التثبيت واستهلاك النطاق الترددي. أطلقت الشركة AAB في مؤتمر Google I / O لعام 2018 ، والآن ، بعد عامين تقريبًا ، تجبرك جوجل على إرسال تطبيقات جديدة بتنسيق AAB إلى متجر جوجل بلاي  .

مقارنةً بـ APK ، فإن تنسيق AAB ليس حزمة توزيع جديدة تمامًا. في الواقع ، AAB عبارة عن حاوية تحتوي على APK أساسي وملفات APK متعددة مقسمة. بشكل أساسي ، AAB هو تنسيق نشر يرسله المطورون إلى Play Store ، و APK هو تنسيق حزمة لتطبيقات Android التي تقوم بتثبيتها على جهازك.

إذن ما هو التغيير الحقيقي هنا؟ بدءًا من أغسطس 2021 ، لن يحتاج المطورون بعد الآن إلى إدارة عدد كبير من ملفات APK للأجهزة المختلفة. باستخدام AAB ، يترك المطورون كل شيء لـ Google: كود التطبيق ، والموارد ، والكثير من الموارد ، وجميع حزم اللغات ، والأهم من ذلك ، مفتاح توقيع التطبيق الخاص. الآن ، يمكن لـ Google إنشاء ملف APK مُحسَّن بناءً على تكوين جهاز المستخدم وتقديمه للمستخدم. يمكنه إنشاء مجموعة AAB أصغر حجمًا وأكثر إحكاما يمكن تثبيتها بسرعة وتستهلك بيانات أقل للأجهزة المنخفضة النهاية. هذا هو الاقتراح الرئيسي لـ AAB و APK ، ولكن هناك المزيد لتفكيكه.

مشاركة مفتاح التوقيع الخاص مع Google

بالنظر إلى ما تقدمه AAB ، يبدو أنه بديل رائع لـ APK. يقلل تنسيق AAB من حجم التطبيق ، ولا يتعين على المطورين إنشاء ملفات APK متعددة. ومع ذلك ، أعرب العديد من المطورين عن مخاوفهم بشأن مشاركة مفاتيح التوقيع الخاصة مع جوجل .

كما ذكرت أعلاه ، فإن مفتاح التوقيع هو أهم المعلومات للتحقق من سلامة APK. حتى إذا قمت بتحميل APK من مصدر خارجي ، فإن متجر Google Play Store سوف يتحقق من مفتاح التوقيع للتأكد من عدم العبث بأي شيء.

بالنسبة لـ AAB ، تطلب Google من المطورين مشاركة توقيعات المفتاح الخاص حتى تتمكن Google من إنشاء حزم التطبيقات واستخدام نفس المفتاح الخاص لتوقيع AAB. عندما يقوم المستخدم بتثبيت التطبيق أو التحديثات على إصدار جديد ، فإن خدمة Play ستطابق مفتاح التوقيع ، ولن يكون هناك عدم تطابق في المفتاح أو فشل في التوقيع عند اكتمال التثبيت. بمعنى آخر ، يقول المطورون أن هذا قد يفتح الباب أمام حقن الكود. صرحت Google بأن جميع "مفاتيح التوقيع مخزنة على نفس البنية التحتية التي تستخدمها Google لتخزين مفاتيحها الخاصة". لذا يرجى أن تطمئن إلى أن جميع مفاتيح التوقيع الخاصة بك محمية بأمان مضمون.

المصدر :جوجل 

بالإضافة إلى ذلك ، من أجل التخفيف من مخاوف المطورين ، أعلنت Google عن شفافية الكود ، مما يسمح للمطورين بإنشاء مفتاح خاص منفصل لا يمكنهم الوصول إليه. يمكن للمطور بعد ذلك إنشاء توقيع إضافي من مفتاح خاص منفصل ، والذي يمكن استخدامه للتحقق من سلامة التطبيق. ومع ذلك ، فإن هذه الطريقة لها قيود. تتضمن شفافية الكود التعليمات البرمجية فقط ، وليس الأصول أو الموارد أو الإعلانات. بالإضافة إلى ذلك ، هذه ميزة اختيارية يمكن أن تضع العديد من المطورين فيها.

هل ستجعل AAB الأمر أكثر صعوبة لمتاجر تطبيقات الطرف الثالث؟

هناك مشكلة أخرى في مشاركة المفاتيح الخاصة مع Google وهي أنها قد تجعل الأمور أكثر صعوبة بالنسبة لمتاجر التطبيقات التابعة لجهات خارجية. على سبيل المثال ، إذا قمت بتثبيت تطبيق من متجر Play ، ولكنك تريد التحديث إلى أحدث إصدار من بديل آخر في متجر Play (على سبيل المثال ، Amazon App Store أو Aptoide Store) ، فقد يفشل التثبيت بسبب عدم تطابق التوقيع .

هذا لأن Google تدير الآن مفاتيح التوقيع الخاصة ، لذلك لا يمكنك استخدام نفس المفتاح عند تحميل تطبيقك إلى متجر تطبيقات Android تابع لجهة خارجية. ستحتاج إلى استخدام مفتاح خاص آخر ، مما سيؤدي إلى خطأ عدم تطابق المفتاح الخاص. هل ستكون هذه مشكلة في دعم تطبيق Android على نظام التشغيل Windows 11؟ سيتعين علينا الانتظار ومعرفة ذلك.


بالإضافة إلى ذلك ، يبدو أن الافتراض القائل بأن AAB سيمنع المطورين من تحميل ملفات APK إلى متاجر تطبيقات تابعة لجهات خارجية غير صحيح. أنشأت Google أداة مفتوحة المصدر تسمى bundletool ، والتي تتيح للمطورين إنشاء ملفات APK من حزم AAB. المشكلة الوحيدة في الوقت الحالي هي أن مشاركة مفاتيح التوقيع الخاصة تؤثر على مستخدمي اندرويد ذوي الخبرة.

هل يمكن تحميل AAB مثل APK؟

على حد علمنا ، يبدو أنه من الممكن تحميل AAB على أجهزة اندرويد ، ولكنه لن يكون ملائمًا مثل التحميل الجانبي لملفات APK. لا يدعم مثبت حزمة Android حاليًا تنسيق حزمة AAB ، مما يعني أنه سيكون من المستحيل تثبيت AAB محليًا على الجهاز. ومع ذلك ، يمكنك تثبيت حزمة AAB على الجهاز باستخدام تطبيق مثبت تابع لجهة خارجية.

على سبيل المثال ، يسمح لك مُثبِّت APKMirror الحالي (مجانًا ، مع عمليات شراء داخل التطبيق) بتثبيت حزم APKM (APK الأساسي + APK المقسم) باستخدام تطبيق المثبت الخاص به. لدينا بالفعل دليل مفصل حول كيفية تثبيت حزمة تطبيقات اندرويد  على هاتفك ، يرجى مراجعة المقالة ذات الصلة.

خلاف ذلك ، لن تتمكن من تثبيت AAB باستخدام adb. تحتاج إلى استخدام bundletool مفتوحة المصدر للحصول على APK الصحيح المتوافق مع جهازك. مع تزايد شيوع AAB ، قد تظهر طرق تحميل جانبي جديدة وعملية. ضع في اعتبارك أن ملف APK الأساسي الذي تم تحميله بشكل جانبي فقط هو الذي سيتعطل على جهازك.

APK و AAB: إيجابيات وسلبيات

بعد الانتهاء من جميع النقاط ، يمكنك أن ترى أن AAB لن يكون لها تأثير كبير على تجربة المستخدم لمعظم المستخدمين. نعم ، سيقلل من حجم التطبيقات المفيدة لمعظم المستخدمين. على سبيل المثال ، خفضت Airbnb حجم التطبيق بنسبة 22٪ بعد التبديل من APK إلى AAB ، بينما خفضت Netflix حجم التطبيق بنسبة 57٪. هذا فرق كبير في حجم التطبيق. بالإضافة إلى ذلك ، ستتم إعادة إنشاء وظيفة تطبيق التثبيت المجاني المتوقفة على أجهزة Android من خلال AAB.

ومع ذلك ، بالنسبة للمستخدمين المتقدمين الذين يرغبون في شحن AAB ، يمكن أن تصبح الأمور صعبة بعض الشيء وغير عملية. قد تحتاج إلى استخدام bundletool لاستخراج APK لجهازك أو استخدام أداة تثبيت تابعة لجهة خارجية. شيء واحد يجب ملاحظته هو أن AAB ستبقى بعيدًا عن OBB (النقطة الثنائية غير الشفافة) لتنزيل الأصول والموارد الكبيرة. بدلاً من ذلك ، ستستخدم Play Asset Delivery أو Play Feature Delivery لتنزيل أصول ثقيلة بأحجام تنزيل تصل إلى 150 ميجابايت أو أكثر. سيتعين علينا أن نرى كيف يؤثر ذلك على الألعاب ذات التحميل الجانبي مثل Battlegrounds Mobile  و PUBG Mobile و FAU-G.


بالنسبة للمطورين الأكثر تأثراً بهذا التغيير ، لا يحتاجون إلى إعادة صياغة التعليمات البرمجية الخاصة بهم ، وهو أمر رائع. يوفر AAB أيضًا نمطية ، مما يعني أنه يمكنهم تعديل الأجزاء ودمجها مع المكتبة الرئيسية دون مواجهة العديد من تعارضات الدمج. ميزة كبيرة لـ AAB هي أنها توفر خيارات التخصيص للمطورين. يمكنهم اختيار مستوى API الذي يريدون استهدافه أو نوع الجهاز الذي يريدون دعمه. يمكن للمطورين أيضًا تحديد الميزات التي يجب توفيرها على أنواع معينة من الأجهزة أو الهواتف الذكية التي تعمل بأدنى إصدار من SDK.

بالنسبة لأوجه القصور ، فإن جوهر المشكلة هو مشاركة المفاتيح الخاصة ، والتي ستتعامل معها Google الآن. قد يكون عدم التوافق مع متاجر التطبيقات التابعة لجهات خارجية مشكلة كبيرة أخرى ، وسيتعين على المطورين مضاعفة جهودهم لنشر وإدارة ملفات APK في متاجر التطبيقات الأخرى (مثل متجر Play الحالي).

APK مقابل AAB: خلاصة

بالنسبة لي ، أكبر مشكلة في هذا التغيير هي الاعتماد المفرط على Google. من خلال هذا التغيير ، يضمن عملاق Mountain View أن يظل متجر Play هو متجر التطبيقات الفعلي على أجهزة الأندرويد . من استضافة التطبيقات إلى إدارة المفاتيح الخاصة ، تتحكم Google الآن في جميع جوانب نشر وتوزيع التطبيقات على اندرويد . قد يكون المطورون راضين عن هذه التغييرات الجديدة لأنهم لم يعودوا بحاجة إلى إدارة ملفات APK متعددة ، ولكن ماذا عن المستخدمين على المدى الطويل؟ لا نعرف بعد. عندما يسلم المطورون زمام الأمور إلى Google ، فهل سيؤدي ذلك إلى تغييرات جيدة؟ سيتعين علينا أن ننتظر ونرى. على أي حال ، كل هذا يأتي منا. ولكن يرجى إخبارنا بأفكارك حول مناقشة APK مقابل AAB في قسم التعليقات أدناه.