يجب أن تتيح التطبيقات المنشورة على Google Play بُنى 64 بت الأساسية. توفّر إضافة إصدار 64 بت من تطبيقك تحسينات في الأداء وتجهّزك للأجهزة التي تعمل بإصدار 64 بت فقط.
تضمن الخطوات التالية توافق تطبيقك الذي يعمل بالإصدار 32 بت مع الأجهزة التي تعمل بالإصدار 64 بت.
تقييم تطبيقك
إذا كان تطبيقك يستخدم فقط الرموز البرمجية المكتوبة بلغة Java أو Kotlin، بما في ذلك جميع المكتبات أو حِزم تطوير البرامج (SDK)، فإنّ تطبيقك متوافق مع الأجهزة التي تعمل بالإصدار 64 بت. إذا كان تطبيقك يستخدم أي رموز برمجية أصلية، أو إذا لم تكن متأكدًا من ذلك، عليك تقييم تطبيقك.
الاطّلاع على الحالة بسرعة
انتقِل إلى Play Console وألقِ نظرة على الإصدارات الحالية لمعرفة ما إذا كانت متوافقة مع السياسة.

تعرض Play Console أيضًا التحذيرات التي تنطبق على إصداراتك التمهيدية في حال وجود أي مشاكل تتعلّق بمتطلبات الإصدارات التي تعمل بنظام 64 بت. الصورة التالية هي مثال على ذلك.

في حال ظهور تنبيه، يُرجى الاطّلاع على الخطوات التالية لجعل تطبيقك متوافقًا مع الأجهزة التي تستخدم الإصدار 64 بت.
هل يستخدم تطبيقك رموزًا برمجية أصلية؟
يستخدم تطبيقك الرموز البرمجية الأصلية في الحالات التالية:
- يستخدم أي رمز برمجي (أصلي) بلغة C/C++ في تطبيقك.
- الروابط التي تؤدي إلى أي مكتبات مجمّعة من رموز برمجية أصلية تابعة لجهات خارجية
- تم إنشاؤه بواسطة أداة إنشاء تطبيقات تابعة لجهة خارجية تستخدم مكتبات مجمّعة من رموز برمجية أصلية.
هل يتضمّن تطبيقك مكتبات 64 بت؟
فحص بنية ملف APK عند إنشاء حزمة APK، يتم تجميعها مع أي مكتبات مجمّعة من رموز برمجية أصلية يحتاجها التطبيق، ويتم تخزين هذه المكتبات في مجلدات مختلفة استنادًا إلى واجهة التطبيق الثنائية (ABI). ليس من الضروري أن يتوافق التطبيق مع كل بنية 64 بت، ولكن لكل بنية 32 بت أصلية يتوافق معها التطبيق، يجب تضمين بنية 64 بت المقابلة لها.
بالنسبة إلى بنية ARM، تقع المكتبات التي تستخدم 32 بت في armeabi-v7a. أما واجهة التطبيق الثنائية (ABI) المكافئة لها في الإصدار 64 بت، فهي arm64-v8a.
بالنسبة إلى بنية x86، ابحث عن x86 للإصدار 32 بت وx86_64 للإصدار 64 بت.
تأكَّد من توفّر مكتبات مجمّعة من رموز برمجية أصلية في كلا المجلدَين. باختصار:
| النظام الأساسي | مجلد المكتبات 32 بت | مجلد المكتبات 64 بت |
|---|---|---|
| تفعيل جهاز الإنذار | lib/armeabi-v7a
|
lib/arm64-v8a
|
| x86 | lib/x86
|
lib/x86_64
|
لاحظ أنه بناءً على تطبيقك، قد تكون هناك أو لا تكون هناك نفس المجموعة من المكتبات في كل مجلد. والهدف من ذلك هو التأكّد من أنّ تطبيقك يعمل بشكل صحيح في بيئة 64 بت فقط.
في الحالة العادية، تحتوي حزمة APK أو الحزمة التي تم إنشاؤها لكل من البنيتين 32 بت و64 بت على مجلدات لكل من واجهتَي ABI، ولكل منهما مجموعة مقابلة من المكتبات المجمّعة من رموز برمجية أصلية. إذا لم يتوفّر دعم لإصدار 64 بت، قد يظهر لك مجلد ABI لإصدار 32 بت وليس مجلدًا لإصدار 64 بت.
البحث عن المكتبات المجمّعة من رموز برمجية أصلية باستخدام "أداة تحليل ملفات APK"
أداة تحليل ملفات APK هي أداة تتيح لك تقييم الجوانب المختلفة لملف APK الذي تم إنشاؤه. استخدِم هذه الأداة للعثور على أي مكتبات مجمّعة من رموز برمجية أصلية، والتأكّد من توفّر مكتبات 64 بت.
- افتح استوديو Android، وافتح أي مشروع.
من القائمة، اختَر إنشاء > تحليل حزمة APK…

اختَر حزمة APK التي تريد تقييمها.
ابحث في مجلد lib الذي يستضيف ملفات .so إن وُجدت. إذا لم تكن هناك أي ملفات، يعني ذلك أنّ تطبيقك متوافق مع الأجهزة التي تعمل بنظام التشغيل 64 بت وليس عليك اتّخاذ أي إجراء آخر. إذا ظهر لك armeabi-v7a أو x86، يعني ذلك أنّ لديك مكتبات 32 بت.
تحقَّق مما إذا كانت لديك ملفات .so مماثلة في المجلد arm64-v8a أو x86_64.

إذا لم يكن لديك أي مكتبات arm64-v8a أو x86_64، عليك تحديث عملية الإنشاء لبدء إنشاء هذه العناصر وتجميعها في حزمة APK.
إذا رأيت أنّه يتم تجميع كلتا المكتبتين، يمكنك التخطّي إلى اختبار تطبيقك على أجهزة 64 بت.
البحث عن المكتبات المجمّعة من رموز برمجية أصلية من خلال فك ضغط ملفات APK
يتم تنظيم ملفات APK مثل ملفات ZIP. باستخدام سطر الأوامر أو أي أداة استخراج أخرى، استخرِج ملف APK. بناءً على أداة الاستخراج، قد تحتاج إلى إعادة تسمية الملف إلى .zip.
تصفَّح الملفات التي تم استخراجها، واتّبِع الإرشادات أعلاه لتحديد ما إذا كان تطبيقك متوافقًا مع الأجهزة التي تستخدم الإصدار 64 بت. يمكنك تشغيل مثال الأمر التالي من سطر الأوامر:
:: Command Line
> zipinfo -1 YOUR_APK_FILE.apk | grep \.so$
lib/armeabi-v7a/libmain.so
lib/armeabi-v7a/libmono.so
lib/armeabi-v7a/libunity.so
lib/arm64-v8a/libmain.so
lib/arm64-v8a/libmono.so
lib/arm64-v8a/libunity.so
لاحظ في هذا المثال وجود مكتبات armeabi-v7a وarm64-v8a، ما يعني أنّ التطبيق يتوافق مع البُنى الأساسية لإصدار 64 بت.
إنشاء تطبيقك باستخدام مكتبات 64 بت
توضّح التعليمات التالية كيفية إنشاء مكتبات 64 بت. يُرجى العِلم أنّ هذه الخطوات تشمل فقط إنشاء الرموز والمكتبات التي يمكنك إنشاؤها من المصدر.
إنشاء التطبيق باستخدام "استوديو Android" أو Gradle
تستخدم معظم مشاريع "استوديو Android" أداة Gradle كنظام إصدار أساسي، لذا ينطبق هذا القسم على كلتا الحالتَين. لتفعيل عمليات الإصدار للرموز البرمجية الأصلية، أضِف arm64-v8a و/أو x86_64، حسب البُنى التي تريد إتاحتها، إلى الإعداد ndk.abiFilters في ملف "build.gradle" الخاص بتطبيقك:
أنيق
// Your app's build.gradle plugins { id 'com.android.app' } android { compileSdkVersion 27 defaultConfig { appId "com.google.example.64bit" minSdkVersion 15 targetSdkVersion 28 versionCode 1 versionName "1.0" ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64' // ...
Kotlin
// Your app's build.gradle plugins { id("com.android.app") } android { compileSdkVersion(27) defaultConfig { appId = "com.google.example.64bit" minSdkVersion(15) targetSdkVersion(28) versionCode = 1 versionName = "1.0" ndk { abiFilters += listOf("armeabi-v7a","arm64-v8a","x86","x86_64") } // ...
الإنشاء باستخدام CMake
إذا تم إنشاء تطبيقك باستخدام CMake، يمكنك إنشاء واجهات ABI لإصدار 64 بت من خلال تمرير arm64-v8a إلى المَعلمة "-DANDROID_ABI":
:: Command Line
> cmake -DANDROID_ABI=arm64-v8a … or
> cmake -DANDROID_ABI=x86_64 …
الإنشاء باستخدام ndk-build
إذا تم إنشاء تطبيقك باستخدام ndk-build، يمكنك إنشاء واجهات ABI متوافقة مع الإصدارات 64 بت من خلال تعديل ملف Application.mk باستخدام المتغيّر APP_ABI:
APP_ABI := armeabi-v7a arm64-v8a x86 x86_64
نقل الرموز البرمجية من إصدار 32 بت إلى إصدار 64 بت
إذا كان الرمز البرمجي يعمل على أجهزة الكمبيوتر المكتبي أو أجهزة iOS، لن تحتاج إلى تنفيذ أي عمل إضافي لنظام التشغيل Android. إذا كانت هذه هي المرة الأولى التي يتم فيها إنشاء الرمز البرمجي لنظام 64 بت، فإنّ المشكلة الرئيسية التي يجب معالجتها هي أنّ المؤشرات لم تعد تتناسب مع أنواع الأعداد الصحيحة 32 بت مثل int.
عدِّل الرمز البرمجي الذي يخزّن المؤشرات في أنواع مثل int أو unsigned أو
uint32_t. في أنظمة Unix، يتطابق long مع حجم المؤشر، ولكن هذا ليس
صحيحًا في نظام التشغيل Windows. بدلاً من ذلك، استخدِم الأنواع التي تكشف عن الغرض uintptr_t أو intptr_t. لتخزين الفرق بين مؤشرَين، استخدِم النوع ptrdiff_t.
يجب دائمًا تفضيل أنواع الأعداد الصحيحة المحدّدة ذات العرض الثابت والمحدّدة في
<stdint.h> بدلاً من الأنواع ذات العرض غير الثابت، مثل
int أو long، حتى بالنسبة إلى غير المؤشرات.
استخدِم علامات برنامج التجميع التالية لرصد الحالات التي يتم فيها تحويل الرمز بشكل غير صحيح بين المؤشرات والأعداد الصحيحة:
-Werror=pointer-to-int-cast
-Werror=int-to-pointer-cast
-Werror=shorten-64-to-32
تحدث المشكلة نفسها في فئات Java التي تحتوي على حقول int تتضمّن مؤشرات إلى عناصر C/C++. ابحث عن jint في مصدر JNI وتأكَّد من التبديل إلى
long في Java وjlong في C++.
تُعدّ تعريفات الدوال الضمنية أكثر خطورة في الرموز البرمجية ذات الـ 64 بت. تفترض لغة C/C++ أنّ نوع القيمة التي تم إرجاعها لدالة تم تعريفها ضمنيًا (أي دالة لم يطّلع برنامج التجميع على تعريفها) هو int. إذا كان نوع القيمة التي تم إرجاعها الفعلي للدالة هو مؤشر، سيعمل هذا بشكل جيد على نظام 32 بت حيث يتناسب المؤشر مع int. ومع ذلك، في نظام 64 بت، يسقط برنامج التجميع النصف العلوي من المؤشر. على سبيل المثال:
// This function returns a pointer:
// extern char* foo();
// If you don't include a header that declares it,
// when the compiler sees this:
char* result = foo();
// Instead of compiling that to:
result = foo();
// It compiles to something equivalent to:
result = foo() & 0xffffffff;
// Which will then cause a SIGSEGV if you try to dereference `result`.
تؤدي علامة برنامج التجميع التالية إلى تحويل تحذيرات تعريف الدوال الضمنية إلى أخطاء حتى تتمكّن من العثور على هذه المشكلة وحلّها بسهولة أكبر:
-Werror=implicit-function-declaration
إذا كان لديك مجمِّع مضمَّن، أعِد كتابته أو استخدِم تنفيذًا عاديًا بلغة C/C++.
إذا كانت لديك أحجام أنواع غير قابلة للتغيير في البرنامج (8 أو 16 بايت مثلاً)، استبدِلها
بتعبير sizeof(T) المكافئ، مثل sizeof(void*).
إذا كنت بحاجة إلى تجميع رمز مختلف بشكل مشروط لإصدار 32 بت عن إصدار 64 بت، يمكنك استخدام #if defined(__LP64__) للاختلافات العامة بين إصدارَي 32 و64 بت، أو __arm__ و__aarch64__ (arm64) و__i386__ (x86) و__x86_64__ للبُنى المحدّدة التي يتوافق معها Android.
اضبط سلاسل التنسيق للدوال التي تشبه printf أو scanf، لأنّ محدّدات التنسيق التقليدية لا تسمح لك بتحديد أنواع 64 بت بطريقة صحيحة لكل من الأجهزة التي تعمل بالإصدار 32 بت و64 بت. تحلّ وحدات الماكرو PRI وSCN في
<inttypes.h> هذه المشكلة، وPRIxPTR وSCNxPTR
لكتابة مؤشرات سداسية عشرية وقراءتها، وPRId64 وSCNd64 لكتابة
وقراءة قيم 64 بت بشكل محمول.
عند الإزاحة، قد تحتاج إلى استخدام 1ULL للحصول على ثابت 64 بت للإزاحة
بدلاً من استخدام 1، وهو 32 بت فقط.
الحدّ من زيادة حجم التطبيق باستخدام مجموعة حزمات تطبيق Android
قد تؤدي إضافة بنية 64 بت إلى تطبيقك إلى زيادة حجم حزمة APK. ننصحك بشدة بالاستفادة من ميزة مجموعة حزمات تطبيق Android لتقليل تأثير الحجم الناتج عن تضمين الرموز البرمجية الأصلية لكل من الإصدارين 32 بت و64 بت في حزمة APK نفسها.
مطوّرو الألعاب
تتوافق محرّكات البحث الثلاثة الأكثر استخدامًا مع إصدار 64 بت:
- Unreal منذ 2015
- Cocos2d منذ 2015
- Unity منذ 2018
مطوّرو Unity
الترقية إلى الإصدارات المتوافقة
يوفّر محرّك Unity إمكانية التوافق مع الإصدارات 64 بت من خلال الإصدارين 2018.2 و2017.4.16.
إذا كنت تستخدم إصدارًا من Unity لا يتوافق مع الإصدار 64 بت، حدِّد الإصدار الذي تريد الترقية إليه واتّبِع الأدلة التي توفّرها Unity لنقل بيئتك، مع التأكّد من ترقية تطبيقك إلى إصدار يمكنه إنشاء مكتبات 64 بت. تنصحك Unity بالوصول إلى أحدث الميزات والتحديثات من خلال الترقية إلى أحدث إصدار من LTS من المحرّر.
في ما يلي رسم بياني يوضّح إصدارات Unity المختلفة والإجراءات التي يجب اتّخاذها:
| إصدار Unity | هل يتوافق الإصدار مع 64 بت؟ | الإجراءات المقترَحة |
|---|---|---|
2020.x |
✔️ |
تأكَّد من أنّ إعدادات الإصدار تُخرج مكتبات 64 بت. |
2019.x |
✔️ |
تأكَّد من أنّ إعدادات الإصدار تُخرج مكتبات 64 بت. |
2018.4 (LTS) |
✔️ |
تأكَّد من أنّ إعدادات الإصدار تُخرج مكتبات 64 بت. |
2018.3 |
✔️ |
تأكَّد من أنّ إعدادات الإصدار تُخرج مكتبات 64 بت. |
2018.2 |
✔️ |
تأكَّد من أنّ إعدادات الإصدار تُخرج مكتبات 64 بت. |
2018.1 |
➖ |
يتوفّر دعم تجريبي لإصدار 64 بت. |
2017.4 (LTS) |
✔️ |
متوافقة اعتبارًا من الإصدار 2017.4.16. تأكَّد من أنّ إعدادات الإصدار تُخرج مكتبات 64 بت. |
2017.3 |
✖️ |
يُرجى الترقية إلى إصدار متوافق مع الإصدار 64 بت. |
2017.2 |
✖️ |
يُرجى الترقية إلى إصدار متوافق مع الإصدار 64 بت. |
2017.1 |
✖️ |
يُرجى الترقية إلى إصدار متوافق مع الإصدار 64 بت. |
5.6 أو أقل |
✖️ |
يُرجى الترقية إلى إصدار متوافق مع الإصدار 64 بت. |
تغيير إعدادات الإصدار لإخراج مكتبات 64 بت
إذا كنت تستخدم إصدارًا من Unity يتوافق مع مكتبات Android التي تعمل بنظام 64 بت، يمكنك إنشاء إصدار من تطبيقك يعمل بنظام 64 بت من خلال تعديل إعدادات الإصدار. استخدِم خلفية IL2CPP كخلفية للبرمجة النصية. لإعداد مشروع Unity لإنشاء بنية 64 بت، اتّبِع الخطوات التالية:
- انتقِل إلى إعدادات الإصدار (Build Settings) وتأكَّد من أنّك تنشئ إصدارًا لنظام التشغيل Android من خلال التحقّق من أنّ رمز Unity يظهر بجانب Android ضمن النظام الأساسي (Platform). 1. إذا لم يظهر رمز Unity بجانب نظام Android الأساسي، اختَر Android وانقر على تبديل النظام الأساسي (Switch Platform).
انقر على إعدادات المشغّل.

انتقِل إلى Player Settings Panel (لوحة إعدادات المشغّل) > Settings for Android (إعدادات Android) > Other settings (إعدادات أخرى) > Configuration (الإعدادات)
اضبط Scripting Backend (البرمجة النصية في الخلفية) على IL2CPP.
ضَع علامة في مربّع الاختيار Target Architecture (البنية المستهدَفة) > ARM64.

يمكنك إنشاء التطبيق كالمعتاد.
يُرجى العِلم أنّ إنشاء التطبيقات لبنية ARM64 يتطلّب إنشاء جميع مواد العرض خصيصًا لهذه المنصة. اتّبِع إرشادات Unity لتقليل حجم حزمة APK، واستفِد من ميزة مجموعة حزمات تطبيق Android للمساعدة في الحدّ من هذه الزيادة في الحجم.
التوافق مع حِزم APK المتعددة ومعالجات 64 بت
إذا كنت تستخدم دعم حِزم APK المتعددة في Google Play لنشر تطبيقك، يُرجى العِلم أنّه يتم تقييم الامتثال لمتطلبات الإصدارات التي تعمل بنظام التشغيل 64 بت على مستوى الإصدار. ومع ذلك، لا ينطبق شرط الإصدار 64 بت على حِزم APK أو حِزم التطبيقات التي لا يتم توزيعها على الأجهزة التي تعمل بنظام التشغيل Android 9 Pie أو الإصدارات الأحدث.
إذا تم وضع علامة على إحدى حزم APK بأنّها غير متوافقة، ولكنّها إصدار سابق
ولا يمكن جعلها متوافقة، تتمثّل إحدى الاستراتيجيات في إضافة
سمة maxSdkVersion="27" في عنصر uses-sdk في
ملف بيان حزمة APK هذه. لا يتم إرسال حزمة APK هذه إلى الأجهزة التي تعمل بنظام التشغيل Android 9 Pie أو الإصدارات الأحدث، ولم تعُد تحظر الامتثال.
RenderScript والامتثال لمتطلبات إصدار 64 بت
إذا كان تطبيقك يستخدم RenderScript وتم إنشاؤه باستخدام إصدار سابق من
أدوات Android، قد تظهر لك مشاكل في امتثال التطبيق لمتطلبات الإصدار 64 بت. باستخدام أدوات الإنشاء
التي تسبق الإصدار 21.0.0، قد ينشئ برنامج التجميع رمز بت في ملف .bc خارجي. لم تعُد ملفات .bc القديمة هذه متوافقة مع البُنى الأساسية التي تعمل بنظام التشغيل 64 بت، لذا فإنّ وجود الملف في حزمة APK يؤدي إلى حدوث مشكلة في الامتثال.
لحلّ هذه المشكلة، عليك إزالة أي ملفات .bc في مشروعك، وترقية بيئة العمل إلى الإصدار build-tools-21.0.0 أو إصدار أحدث، وضبط renderscriptTargetApi في "استوديو Android" على الإصدار 21 أو إصدار أحدث، لإعلام برنامج التجميع بعدم إنشاء ملفات .bc. بعد ذلك، أعِد إنشاء تطبيقك وابحث عن ملفات .bc
وحمِّلها على Play Console.
اختبار تطبيقك على أجهزة تعمل بنظام التشغيل 64 بت
يجب أن يقدّم إصدار تطبيقك الذي يعمل بنظام 64 بت الجودة ومجموعة الخصائص نفسها التي يقدّمها الإصدار الذي يعمل بنظام 32 بت. اختبِر تطبيقك للتأكّد من حصول مستخدمي أحدث الأجهزة التي تعمل بنظام التشغيل 64 بت على تجربة رائعة في تطبيقك.
الأجهزة التي تعمل بنظام 64 بت فقط
ننصحك باختبار تطبيقك في بيئة صارمة تعمل بنظام 64 بت فقط كلما أمكن ذلك، باستخدام أحد الخيارات التالية:
هاتف Google Pixel مزوّد بصورة نظام 64 بت فقط
لتسهيل عملية تطوير التطبيقات واختبارها، قدّمنا صور نظام خاصة تتضمّن بيئة صارمة تعمل بنظام 64 بت فقط لبعض أجهزة Pixel. تم توفير صور النظام هذه التي تعمل بنظام 64 بت فقط في الأصل بالتزامن مع صور النظام العادية لإصدارات Android 13 و14 المبكرة الحصرية، ولكن يمكنك الاستمرار في استخدامها أثناء اختبار تطبيقك للتأكّد من توافقه مع نظام 64 بت.
الحصول على صورة لنظام 64 بت فقط
على غرار صور النظام الأصلية، يمكنك تثبيت صورة 64 بت فقط على جهازك باستخدام Android Flash Tool أو من خلال تثبيت الصورة على جهازك يدويًا، كما هو موضّح في الأقسام التالية.
تثبيت نظام التشغيل على جهازك باستخدام Android Flash Tool
تتيح لك أداة Android Flash Tool تثبيت صورة نظام بشكل آمن على جهاز Pixel المتوافق. تعمل أداة Android Flash Tool مع أي متصفّح ويب يتوافق مع WebUSB، مثل Chrome أو Edge 79+.
يرشدك Android Flash Tool خطوة بخطوة خلال عملية تنزيل البرامج على جهازك، ولست بحاجة إلى تثبيت أي أدوات، ولكن عليك فتح قفل جهازك وتفعيل تصحيح أخطاء الجهاز عبر USB في "خيارات المطوّرين". للحصول على التعليمات الكاملة، يُرجى الاطّلاع على مستندات أداة Android Flash Tool.
وصِّل جهازك عبر USB، ثم انتقِل إلى Android Flash Tool باستخدام أحد الروابط التالية، واتّبِع الإرشادات الظاهرة على الشاشة، وذلك حسب نوع صورة النظام التي تريد تثبيتها:
صور نظام Android 14 (الإصدار التجريبي 5.2) المتوافقة مع الإصدارات 64 بت فقط
اختَر الجهاز الذي تريد تثبيت نظام التشغيل عليه:
صور نظام Android 13 (QPR3 Beta 3.2) التي تعمل بنظام 64 بت فقط
اختَر الجهاز الذي تريد تثبيت نظام التشغيل عليه:
تثبيت نظام تشغيل على جهازك يدويًا
يمكنك أيضًا تنزيل أحدث نسخة من صورة النظام وتثبيتها يدويًا على جهازك. اطّلِع على الجدول التالي لتنزيل صورة النظام لجهاز الاختبار. تكون عملية تثبيت نظام التشغيل يدويًا مفيدة إذا كنت بحاجة إلى التحكّم الدقيق في بيئة الاختبار أو إذا كنت بحاجة إلى إعادة التثبيت بشكل متكرّر، مثلاً عند إجراء اختبار آلي.
بعد الاحتفاظ بنسخة احتياطية من بيانات جهازك وتنزيل صورة النظام المطابقة، يمكنك تثبيت الصورة على جهازك.
يمكنك اختيار العودة إلى أحدث إصدار متاح للجميع في أي وقت.
نسخ برامج الجهة المصنِّعة التي تعمل بنظام 64 بت فقط للإصدار Android 14 (الإصدار التجريبي 5.3)
توفّر هذه الصور بيئة صارمة تعمل بنظام 64 بت فقط لاختبار توافق التطبيقات التي تعمل بنظام 64 بت. هذه الإعدادات المخصّصة لـ 64 بت فقط مخصّصة لاستخدام المطوّرين فقط.
| الجهاز | رابط التنزيل | المجموع الاختباري لخوارزمية SHA-256 |
|---|---|---|
| Pixel 4a (5G) | 7e6731fab811ae389f5ff882d5c5a2b8b942b8363b22bbcc038b39d7c539e60a |
|
| Pixel 5 | c4da6a19086a02f2cd2fa7a4054e870916954b8e5a61e9a07ee942c537e4b45a |
|
| Pixel 6 | 98943384284cbc7323b8867d84c36151757f67ae7633012fb69cb5d6bec2b554 |
|
| Pixel 6 Pro | 67ec40be5bd05a40fa5dabc1ce6795aae75d1904193d52e2da00425ed7cb895b |
نسخ برامج الجهة المصنِّعة التي تعمل بنظام 64 بت فقط لنظام التشغيل Android 13 (الإصدار التجريبي 3.2 من QPR3)
توفّر هذه الصور بيئة صارمة تعمل بنظام 64 بت فقط لاختبار توافق التطبيقات التي تعمل بنظام 64 بت. هذه الإعدادات المخصّصة لـ 64 بت فقط مخصّصة لاستخدام المطوّرين فقط.
| الجهاز | رابط التنزيل | المجموع الاختباري لخوارزمية SHA-256 |
|---|---|---|
| Pixel 4a (5G) | b4be40924f62c3c2b3ed20a9f7fa4303aa9c39649d778eb96f86c867fe3ae59a |
|
| Pixel 5 | 6e5e027a4f64f9f786db9bb69d50d1a551c3f6aad893ae450e1f8279ea1b761a |
|
| Pixel 6 | becb9b81a5bddad67a4ac32d30a50dcb372b9d083cb7c046e5180510e479a0b8 |
|
| Pixel 6 Pro | b0ef544ed2312ac44dc827f24999281b147c11d76356c2d06b2c57a191c60480 |
العودة إلى إصدار متاح للجميع
يمكنك استخدام Android Flash Tool من أجل تثبيت نسخة برامج الجهة المصنِّعة، أو الحصول على صورة نظام بمواصفات الجهة المصنِّعة من صفحة نسخ برامج الجهة المصنِّعة لأجهزة Nexus وPixel ثم تثبيتها يدويًا على الجهاز.
محاكي Android
بدءًا من الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات)، تكون صور نظام Android Emulator متوافقة مع الإصدارات 64 بت فقط. أنشئ جهازًا افتراضيًا متوافقًا مع Android باستخدام صورة نظام تعمل بنظام التشغيل Android 12 (المستوى 31 لواجهة برمجة التطبيقات) أو إصدار أحدث للحصول على بيئة صارمة تعمل بنظام 64 بت فقط لاختبار التطبيقات.
خيارات الأجهزة الأخرى
إذا لم يكن لديك أحد هذه الأجهزة أو لم تتمكّن من استخدام Android Emulator، فالخيار الأفضل التالي هو استخدام جهاز متوافق مع الإصدار 64 بت، مثل Google Pixel أو غيره من الأجهزة الرائدة الحديثة من شركات مصنّعة أخرى.
تثبيت تطبيقك واختباره
أسهل طريقة لاختبار حزمة APK هي تثبيت التطبيق باستخدام Android Debug Bridge (adb). في معظم الحالات، يمكنك تقديم --abi كمَعلمة للإشارة إلى
المكتبات التي يجب تثبيتها على الجهاز. يؤدي ذلك إلى تثبيت التطبيق باستخدام
مكتبات 64 بت فقط على الجهاز.
:: Command Line
# A successful install:
> adb install --abi armeabi-v7a YOUR_APK_FILE.apk
Success
# If your APK does not have the 64-bit libraries:
> adb install --abi arm64-v8a YOUR_APK_FILE.apk
adb: failed to install YOUR_APK_FILE.apk: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
# If your device does not support 64-bit, an emulator, for example:
> adb install --abi arm64-v8a YOUR_APK_FILE.apk
ABI arm64-v8a not supported on this device
بعد التثبيت بنجاح، اختبِر تطبيقك كالمعتاد للتأكّد من أنّ الجودة مماثلة لإصدار 32 بت.
التحقّق من مشاكل التوافق المعروفة
أثناء الاختبار، تحقَّق من تطبيقك بحثًا عن المشاكل التالية التي تؤثر في التطبيقات عند تشغيلها على الأجهزة التي تعمل بالإصدار 64 بت. حتى إذا لم يكن تطبيقك يعتمد على المكتبات المتأثرة مباشرةً، قد تعتمد عليها المكتبات وحِزم تطوير البرامج (SDK) التابعة لجهات خارجية والملحَقة بتطبيقك.
SoLoader
إذا كنت تستخدم حزمة تطوير البرامج (SDK) لتحميل الرموز البرمجية الأصلية SoLoader، يُرجى التحديث إلى الإصدار 0.10.4 أو إصدار أحدث. إذا كان تطبيقك يستخدم حزم SDK تعتمد على SoLoader، يُرجى التأكّد أيضًا من استخدام أحدث إصدار ثابت من حزم SDK المتأثرة.
يفترض الإصدار SoLoader v0.9.0 والإصدارات الأقدم أنّ مكتبات النظام متوفّرة في
/vendor/lib:/system/lib. لا يمكن ملاحظة هذا الخطأ في أجهزة مثل Pixel 7 حيث يتوفّر المسار، ولكن هذا الافتراض يتسبب في حدوث أعطال في الأجهزة التي تحتوي على مكتبات النظام في /vendor/lib64:/system/lib64 فقط.
لمزيد من المعلومات حول حلّ هذه المشكلة وغيرها من المشاكل التي تسبّبها SoLoader، يُرجى الاطّلاع على الإجابة المقابلة في مركز مساعدة Google.
OpenSSL
إذا كنت تستخدم مكتبة OpenSSL، يُرجى التحديث إلى الإصدار 1.1.1i من OpenSSL أو إصدار أحدث. إذا كان تطبيقك يستخدم حِزم تطوير البرامج (SDK) التي توفّر إمكانية الاتصال من خلال بروتوكول HTTPS أو حِزم SDK الأخرى التي تعتمد على مكتبة OpenSSL، يُرجى التأكّد أيضًا من التحديث إلى أحدث إصدار من حزمة SDK التي تستخدم إصدارًا أحدث من مكتبة OpenSSL. يُرجى التواصل مع موفِّر حزمة SDK إذا لم يكن هناك إصدار متوافق.
تعمل وظيفة ARMv8.3 PAC على تفعيل سلامة تدفق التحكّم بمساعدة الأجهزة من خلال مصادقة المؤشرات في وقت التشغيل. تستخدم الإصدارات القديمة من مكتبة OpenSSL هذه الإمكانات بشكل غير صحيح، ما يتسبب في حدوث أعطال في وقت التشغيل في جميع الأجهزة التي تحتوي على معالجات تستند إلى الإصدار ARMv8.3a والإصدارات الأحدث.
لمزيد من المعلومات حول حلّ هذه المشكلة وغيرها من المشاكل التي يسبّبها OpenSSL، يُرجى الاطّلاع على الإجابة المقابلة في مركز مساعدة Google.
BTI
يستخدم الإصدار ARMv8.5 والإصدارات الأحدث تعليمات Branch Target Instructions (BTI) للمساعدة في الحماية من هجمات JOP. قد تتسبب الإصدارات السابقة من حِزم SDK الخاصة بإخفاء الرموز البرمجية التي تتفرّع إلى إزاحات عشوائية للمكتبات التي تم إنشاؤها باستخدام BTI في تعطُّل التطبيقات. بما أنّ التعليمات يتم ترميزها على أنّها تلميحات، لا يمكن رصد هذا الخطأ في الأجهزة التي لا تتوافق مع ميزة BTI.
نشر
عندما تشعر أنّ تطبيقك جاهز، انشره كالمعتاد. كالعادة، ننصحك بمواصلة اتّباع أفضل الممارسات لنشر تطبيقك، والاستفادة من مسارات الاختبار المغلق لطرح تطبيقك لعدد محدود من المستخدمين من أجل ضمان جودة تطبيقك بشكل مستمر.
كما هو الحال عند طرح تحديث رئيسي، تأكَّد من إجراء اختبار شامل على الأجهزة المتوافقة مع الإصدارات التي تعمل بنظام 64 بت قبل نشر التطبيق لجمهور أكبر.
تنزيل Android 14 factory system image (64-bit-only)
قبل تنزيل التطبيق، عليك الموافقة على الأحكام والشروط التالية.
الأحكام والشروط
By clicking to accept, you hereby agree to the following:All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.
Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).
WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
تنزيل Android 14 factory system image (64-bit-only)
قبل تنزيل التطبيق، عليك الموافقة على الأحكام والشروط التالية.
الأحكام والشروط
By clicking to accept, you hereby agree to the following:All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.
Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).
WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
تنزيل Android 14 factory system image (64-bit-only)
قبل تنزيل التطبيق، عليك الموافقة على الأحكام والشروط التالية.
الأحكام والشروط
By clicking to accept, you hereby agree to the following:All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.
Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).
WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
تنزيل Android 14 factory system image (64-bit-only)
قبل تنزيل التطبيق، عليك الموافقة على الأحكام والشروط التالية.
الأحكام والشروط
By clicking to accept, you hereby agree to the following:All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.
Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).
WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
تنزيل Android 13 factory system image (64-bit-only)
قبل تنزيل التطبيق، عليك الموافقة على الأحكام والشروط التالية.
الأحكام والشروط
By clicking to accept, you hereby agree to the following:All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.
Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).
WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
تنزيل Android 13 factory system image (64-bit-only)
قبل تنزيل التطبيق، عليك الموافقة على الأحكام والشروط التالية.
الأحكام والشروط
By clicking to accept, you hereby agree to the following:All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.
Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).
WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
تنزيل Android 13 factory system image (64-bit-only)
قبل تنزيل التطبيق، عليك الموافقة على الأحكام والشروط التالية.
الأحكام والشروط
By clicking to accept, you hereby agree to the following:All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.
Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).
WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
تنزيل Android 13 factory system image (64-bit-only)
قبل تنزيل التطبيق، عليك الموافقة على الأحكام والشروط التالية.
الأحكام والشروط
By clicking to accept, you hereby agree to the following:All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.
Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).
WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.