دعم بُنى 64 بت

يجب أن تتوافق التطبيقات المنشورة على Google Play مع بُنى 64 بت. تؤدي إضافة إصدار 64 بت من تطبيقك إلى تحسين الأداء وإعدادك للأجهزة التي تعمل بنظام 64 بت فقط.

تضمن الخطوات التالية أن تطبيقك يعمل بنظام 32 بت المتوافقة مع الأجهزة التي تعمل بالإصدار 64 بت.

تقييم تطبيقك

إذا كان تطبيقك يستخدم رمزًا برمجيًا مكتوبًا بلغة Java البرمجية أو بلغة Kotlin فقط، بما في ذلك جميع المكتبات أو حِزم SDK، سيكون تطبيقك متوافقًا مع الأجهزة التي تعمل بالإصدار 64 بت. فإذا كان تطبيقك يستخدم أي رموز برمجية أصلية، أو إذا لم تكن متأكدًا من استخدامها، فقيّم تطبيقك.

التحقّق السريع من الحالة

يُرجى الانتقال إلى Play Console وإلقاء نظرة على الإصدارات الحالية لمعرفة ما إذا كانت متوافقة مع السياسات.

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

في حال ظهور تنبيه، يُرجى الاطّلاع على الخطوات التالية لجعل تطبيقك متوافقًا مع الأجهزة التي تعمل بالإصدار 64 بت.

هل يستخدم تطبيقك رموزًا برمجية أصلية؟

يستخدم تطبيقك الرموز البرمجية الأصلية في الحالات التالية:

  • يستخدم أي رمز C/C++ (أصلي) في تطبيقك.
  • روابط تؤدي إلى أي مكتبات أصلية تابعة لجهات خارجية
  • تم إنشاء هذه الأداة من خلال أداة إنشاء تطبيقات تابعة لجهة خارجية تستخدم المكتبات المجمّعة من رموز برمجية أصلية.

هل يتضمّن تطبيقك مكتبات 64 بت؟

افحص بنية ملف APK. وعند إنشاء حزمة APK، يتم تضمينها في حزمة APK مع أي مكتبات أصلية يحتاجها التطبيق. ويتم تخزينها في مجلدات مختلفة بناءً على ABI. لا يلزم دعم كل بنية 64 بت، ولكن يجب عليك تضمين بنية 64 بت المقابلة لكل بنية أصلية 32 بت تدعمها.

بالنسبة إلى بنية ARM، يمكنك العثور على مكتبات الإصدار 32 بت من خلال armeabi-v7a. وفي المقابل، يمكن الوصول إلى إصدار 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 بت.

  1. افتح استوديو Android وافتح أي مشروع.
  2. من القائمة، حدد إنشاء > تحليل APK...

    تشغيل أداة تحليل حِزم APK

  3. اختَر حِزمة APK التي تريد تقييمها.

  4. ابحث داخل المجلد lib الذي يستضيف ملفات .so. وفي حال عدم توفّرها، يعني ذلك أنّ تطبيقك يتوافق مع الأجهزة التي تعمل بالإصدار 64 بت، وبالتالي ليس عليك اتّخاذ أي إجراء آخر. إذا رأيت armeabi-v7a أو x86، يعني ذلك أنّ لديك مكتبات الإصدار 32 بت.

  5. تحقق لمعرفة ما إذا كانت لديك ملفات ".so" مشابهة في المجلد arm64-v8a أو x86_64.

    تشغيل أداة تحليل حِزم APK

  6. إذا لم يكن لديك أي مكتبات arm64-v8a أو x86_64، عليك تحديث عملية الإنشاء لبدء إنشاء هذه العناصر ووضعها في حزمة APK.

  7. إذا كنت تعتقد أنّ كلتا المكتبتين متوفّرتَين ضمن حزمة، يمكنك التخطّي إلى اختبار تطبيقك على أجهزة 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، يمكنك إنشاء واجهة برمجة تطبيقات 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. يتطابق long مع حجم المؤشر على أنظمة Unix، ولكن ذلك ليس صحيحًا على نظام التشغيل 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

فئات JavaScript التي تحتوي على حقول int تشير إلى كائنات C/C++ لها نفس المشكلة. ابحث عن jint في مصدر JNI وتأكد من التبديل إلى long في جانب Java وjlong في جانب C++.

تعتبر إعلانات الدوال الضمنية أخطر بكثير بالنسبة إلى التعليمات البرمجية 64 بت. يفترض C/C++ أن نوع العرض لدالة مُعلَن عنها ضمنيًا (أي، الدالة التي لم يرى المحول البرمجي إقرارًا لها) هو int. إذا كان نوع الإرجاع الفعلي للدالة هو مؤشر، فهذا يعمل بشكل جيد في نظام 32 بت حيث يتناسب المؤشر مع عدد صحيح. ومع ذلك، في نظام 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 بت:

  • إنجازات رائعة منذ عام 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 بت.

3.2018

✔️

تأكّد من أن إعدادات الإصدار تخرج مكتبات 64 بت.

2018.2

✔️

تأكّد من أن إعدادات الإصدار تخرج مكتبات 64 بت.

1/2018

يتوفّر دعم تجريبي للإصدار 64 بت.

2017.4 (LTS)

✔️

متاحة اعتبارًا من 16 نيسان (أبريل) 2017. تأكَّد من أنّ إعدادات الإصدار تنتج مكتبات 64 بت.

3.2017

⬅️

يجب الترقية إلى إصدار يتوافق مع الإصدار 64 بت.

2017.2

⬅️

يجب الترقية إلى إصدار يتوافق مع الإصدار 64 بت.

1/2017

⬅️

يجب الترقية إلى إصدار يتوافق مع الإصدار 64 بت.

5.6 أو أقل

⬅️

يجب الترقية إلى إصدار يتوافق مع الإصدار 64 بت.

تغيير إعدادات الإصدار إلى إخراج مكتبات 64 بت

إذا كنت تستخدم إصدارًا من Unity يتوافق مع مكتبات Android 64 بت، يمكنك إنشاء إصدار 64 بت من تطبيقك عن طريق ضبط إعدادات الإصدار. استخدِم خلفية IL2CPP كخلفية للبرمجة النصية. لإعداد مشروع Unity لبناء بنية 64 بت، قم بما يلي:

  1. انتقِل إلى إعدادات الإنشاء واحرص على إنشاء الإصدار لنظام التشغيل Android من خلال التأكّد من ظهور رمز Unity بجانب Android ضمن النظام الأساسي. 1. إذا لم يكن رمز Unity بجانب نظام Android الأساسي، اختَر Android وانقر على تبديل النظام الأساسي.
  2. انقر على إعدادات المشغّل.

    إعدادات المشغّل في Unity

  3. انتقل إلى لوحة إعدادات اللاعب > إعدادات Android > إعدادات أخرى > الضبط.

  4. اضبط خلفية البرمجة النصية على IL2CPP.

  5. ضع علامة في مربّع الاختيار البنية المستهدفة > ARM64.

    تحديد البُنى الأساسية المستهدفة في Unity

  6. قم بالبناء كالمعتاد!

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

التوافق مع حِزم APK متعددة و64 بت

إذا كنت تستخدم دعم APK المتعدد من Google Play لنشر تطبيقك، يُرجى العِلم أنّ الامتثال لمتطلّبات الإصدار 64 بت يتم تقييمه على مستوى الإصدار. ومع ذلك، لا ينطبق شرط 64 بت على حِزم APK أو حِزم التطبيقات التي لا يتم توزيعها على الأجهزة التي تعمل بالإصدار 9 Pie من نظام التشغيل Android أو الإصدارات الأحدث.

إذا تم وضع علامة على أحد حِزم 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 أو عن طريق تحديث جهازك يدويًا، كما هو موضح في الأقسام التالية.

إعداد الفلاش على جهازك باستخدام أداة فلاش Android

تتيح لك أداة فلاش Android تثبيت صورة نظام بشكل آمن على جهاز Pixel المتوافق. تعمل أداة فلاش Android مع أي متصفِّح ويب يتوافق مع WebUSB، مثل Chrome أو Edge 79 أو الإصدارات الأحدث.

ترشدك أداة فلاش Android خطوة بخطوة خلال عملية تثبيت الجهاز، بدون الحاجة إلى تثبيت أدوات، ولكن يجب فتح قفل جهازك وتفعيل تصحيح الأخطاء عبر USB في خيارات المطوّرين. للحصول على التعليمات الكاملة، راجِع وثائق أداة Android Flash.

عليك توصيل جهازك عبر USB، ثم الانتقال إلى أداة فلاش Android باستخدام أحد الروابط التالية واتّباع الإرشادات التي تظهر على الشاشة، وذلك حسب نوع صورة النظام التي تريد عرضها:

وميض الجهاز يدويًا

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

بعد الاحتفاظ بنسخة احتياطية من بيانات جهازك وتنزيل صورة النظام المطابقة، يمكنك وميض الصورة على جهازك.

يمكنك اختيار الرجوع إلى أحدث إصدار متاح للجميع في أي وقت.

صور المصنع فقط 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 (QPR3 الإصدار التجريبي 3.2)

توفر هذه الصور بيئة صارمة 64 بت فقط لاختبار توافق التطبيقات 64 بت. تجدر الإشارة إلى أنّ إعدادات الإصدار 64 بت هذه مخصّصة لاستخدام المطوّرين فقط.

الجهاز رابط التنزيل المجموع الاختباري لخوارزمية SHA-256
‫Pixel 4a (5G) b4be40924f62c3c2b3ed20a9f7fa4303aa9c39649d778eb96f86c867fe3ae59a
‫Pixel 5 6e5e027a4f64f9f786db9bb69d50d1a551c3f6aad893ae450e1f8279ea1b761a
Pixel 6 becb9b81a5bddad67a4ac32d30a50dcb372b9d083cb7c046e5180510e479a0b8
Pixel 6 Pro b0ef544ed2312ac44dc827f24999281b147c11d76356c2d06b2c57a191c60480
الرجوع إلى إصدار متاح للجميع

يمكنك استخدام أداة فلاش Android لتثبيت صورة المصنع، أو الحصول على صورة نظام في مواصفات المصنع من صفحة صور المصنع لأجهزة Nexus وPixel وتثبيتها يدويًا على الجهاز.

محاكي Android

بدءًا من Android 12 (المستوى 31 من واجهة برمجة التطبيقات)، ستكون صور نظام "محاكي Android" بالإصدار 64 بت فقط. عليك إنشاء جهاز Android افتراضي (AVD) باستخدام صورة نظام Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث للحصول على بيئة صارمة بالإصدار 64 بت فقط لاختبار التطبيقات.

خيارات الأجهزة الأخرى

إذا لم يكن لديك أحد هذه الأجهزة أو كنت لا تستطيع استخدام محاكي Android، فسيكون الخيار الأفضل التالي لك هو استخدام جهاز متوافق مع إصدار 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 المتأثرة.

يفترض الإصدار 0.9.0 من SoLoader والإصدارات الأقدم أنّ مكتبات النظام متوفّرة في /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 والإصدارات الأحدث تعليمات BTIs المستهدفة للمساعدة في الحماية من هجمات 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)

bramble_beta_64-upb5.230623.006-factory-7e6731fa.zip

تنزيل 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)

redfin_beta_64-upb5.230623.006-factory-c4da6a19.zip

تنزيل 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)

oriole_beta_64-upb5.230623.006-factory-98943384.zip

تنزيل 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)

raven_beta_64-upb5.230623.006-factory-67ec40be.zip

تنزيل 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)

bramble_64-t3b3.230413.009-factory-b4be4092.zip

تنزيل 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)

redfin_64-t3b3.230413.009-factory-6e5e027a.zip

تنزيل 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)

oriole_64-t3b3.230413.009-factory-becb9b81.zip

تنزيل 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)

raven_64-t3b3.230413.009-factory-b0ef544e.zip