عبدالفتاح الصلوي

كيفية تحديث تطبيقاتك لدعم 16KB Page Size في Android 15: خطوات لـ Google Play Console

كتبها : عبدالفتاح الصلوي / في رصيف : البرمجة

كيفية تحديث تطبيقاتك لدعم 16KB Page Size في Android 15: خطوات لـ Google Play Console

تعلم كيفية تحديد المكتبات التي لا تدعم 16KB، وتحديثها، وتجنب رفض تطبيقك على المتجر.


اذا كنت مطوراً لتطبيقات الجوال فعلى الأغلب قد ظهرت لك هذه الرسالة في play.google.com  تخبرك بأن عليك تحديث التطبيق ليدعم  جدولة الذاكرة بحجم 16 KB في مدة أقصاها بداية نوفمبر 2025 حيث يشترط  دعمها في تطبيقك ليعمل على android 15 . 

App must support 16 KB memory page sizes

قد تبدو الرسالة غير مفهومة للبعض ، او بالاحرى معرفة أي من المكتبات او التبعيات المستخدمة في تطبيقك والتي لا تدعم  16 KB

لابد انك قد استعنت بالذكاء الاصطناعي لحل هذه المشكلة وفي الاغلب لم تجد الحل الصحيح لا عليك فهذا المقال سيرشدك الى الحل . 

اولاً وقبل كل شيء سيتوجب عليك تحديث المشروع لاستخدام الإصدار الاخير من اطار العمل وكذا المكتبات والتبعيات المستخدمة في المشروع. في حال ما زالت الرسالة موجودة عليك التحقق ماهي التبعيات التي لا تدعم  16 KB memory page sizes


الخطوة الأولى : معرفة المكتبات والتبعيات التي تتسبب في ظهور الرسالة أو التي لا تدعم 16 KB memory page sizes

 


في البدء عليك معرفة ما المكتبات التي تسبب هذه المشكلة ولذا قم بما يلي : 

مخطط سير عملية التحقق من دعم حجم صفحة الذاكرة (Memory Page Size) 16 كيلوبايت

إليك مخطط سير (Flowchart) يوضح الخطوات التي ذكرتها للوصول إلى قائمة المكتبات التي لا تدعم 16 كيلوبايت في تطبيقك على Google Play Console:

1.  نقطة البداية (Starting Point)


    في (Google Play Console)  https://play.google.com  انقر على    Production 

        الرابط: https://play.google.com/ (Google Play Console)

2.  سجلات الإصدار (Release History)

    انتقل إلى Releases Tab (علامة تبويب الإصدارات).

    اختر Release history (سجل الإصدار).

        الخطوة: انقر على السهم "View release details" (عرض تفاصيل الإصدار) بجوار الإصدار المعني.

3.  ملخص الإصدار (Release Summary)

    ستظهر لك صفحة Release summary (ملخص الإصدار).

    ابحث عن قسم App bundles (حزم التطبيق).

        الخطوة: انقر على السهم "Details" (التفاصيل) في هذا القسم.

4.  تفاصيل الحزمة وتحليل الذاكرة (Bundle Details & Memory Analysis)

    قم بالتمرير إلى الأسفل.

    ابحث عن قسم Memory page size (حجم صفحة الذاكرة).

        الحالة التي تبحث عنها: Does not support 16 KB (لا يدعم 16 كيلوبايت).

        الخطوة: انقر على "Show detail" (إظهار التفاصيل).

5.  النتيجة النهائية (Final Result)

    سيعرض لك القسم: Libraries that do not support 16 KB (المكتبات التي لا تدعم 16 كيلوبايت).

        النتيجة: قائمة بالمكتبات المستخدمة في تطبيقك والتي تحتاج إلى تحديث أو استبدال لدعم حجم صفحة الذاكرة 16 كيلوبايت.

باختصار :

Production في https://play.google.com/
- انقر على تبويب releses  - releses tab 
- في  ال Release history
انقر على  السهم View release details
سيظهر لك Release summary
 في App bundles انقر على Details السهم 
في الاسفل ستجد Memory page size
Does not support 16 KB
انقر على show detail

سيعرض لك المكتبات المستخدمة في تطبيقك والتي لا تدعم  16 KB


علي سبيل لمثال في التطبيق لدي libirondash_engine_context_native.so

Libraries that do not support 16 KB:
base/lib/arm64-v8a/libirondash_engine_context_native.so
base/lib/x86_64/libirondash_engine_context_native.so

 

الخطوة الثانية : البحث عن المكتبة أو الباكج الذي يعتمد عليها في مشروع flutter 


في المشروع على افتراض ان تطبيقك مبني باستخدام flutter .

اذا سبق لك وعملت كمبرمج php فالبتأكيد أول ما سيخطر ببالك هو امر why هنا على الأغلب سيهزك الحنين  الى php composer (كما حدث لي - فقد حنيت إلى مشروع الباك اند المفتوح بجوار flutter  ) وستسأل هل هناك أمر مكافئ ؟ 
بحسب علمي وبناء على الاخ gemini  لا يوجد أمر حرفي باسم why في أداة pub الخاصة بـ Flutter، ولكن يتم تحقيق نفس النتيجة وأكثر باستخدام أمر flutter pub deps مع تحديد نمط العرض المناسب:

flutter pub deps --style tree

يعرض شجرة الاعتماديات الكاملة بالتسلسل الهرمي. هذا النمط هو الأقوى لتحديد "لماذا" تم تضمين حزمة ما (بمعنى: من هي الحزمة الأم التي اعتمدت عليها). المكافئ الأقرب لـ why

flutter pub deps --style compact

يعرض قائمة التبعيات مرتبة ومبسطة، مع الإشارة إلى التبعيات المباشرة والفرعية.    مفيد للتصفية والبحث السريع.

على أي حال سيعرض الأمر flutter pub deps كل التبعيات والمكتبات المستخدمة في مشروعك بإمكانك البحث عن المكتبة التي ظهرت لك في تطبيقك في google play 
بالطبع لن اخبرك بأنك لو نسخت كل النتائج الى مستند نصي حيث يمكنك البحث بالاسم بأن الامر سيكون اسهل وهذا ما فعلته 

وهنا نكون قد وجدنا اسم المكتبة او الباكج ومن ثم تحديثه الى النسخة الأخيرة على امل انه تم تحديثها. 
في حال لم تحل المشكلة فعليك استبداله بباكج اخر 

في المشروع الذي اعمل عليه مثلاً اتذكر ان الاشكال كان بسبب shadcn  flutter حينها لم يكن قد تم تحديثه وكنت في الأصل لم استخدمه سوى في اجزاء صغيرة من المشروع وعليه قمت بالاستغناء عن المكتبة وتعديل بعض ال widgets التي تعتمد عليها لاستخدام matrial مع تحديث اعدادات بحيث يبدو كما الthem المستخدم في shadcn ولا يحدث أي تغيير في التصميم وعوضا عن الايقونات التي كانت مضمنة في المكتبة استخدمت باكج منفصل لدعم icons lucide فقط لاني استخدمها في مشاريع الويب ايضاً 

وبهذا تم حل الاشكال واختفت رسالة التحذير وتم قبول التطبيق وتحديثه وعاش العالم في سلام وامان . 

علامات ذات صلة :