في آب (أغسطس) 2020، أزالت خدمات Google Play للواقع المعزّز (ARCore) الدعم للتطبيقات التي تعمل بالإصدار 32 بت فقط على بعض الأجهزة التي تعمل بالإصدار 64 بت. في إصدار ARCore القادم، قد تتم إزالة دعم التطبيقات التي تعمل بالإصدار 32 بت فقط من نظام ARCore على الأجهزة التي تعمل بالإصدار 64 بت المتبقية بدون إشعار مسبق. ولا تتأثر التطبيقات المتوافقة مع ARCore بنظام 32 بت فقط والتي تعمل على أجهزة 32 بت، ولا تزال متاحة.
إذا نشرت إصدار 32 بت فقط (على سبيل المثال، armeabi-v7a
) لتطبيقك الذي يستخدم
ARCore بدون نشر إصدار مطابق 64 بت (arm64-v8a
)
للأجهزة التي تعمل بنظام 64 بت،
عليك تحديث التطبيق بإصدار 64 بت متوافق
للأجهزة التي تعمل بنظام 64 بت.
بالنسبة إلى التطبيقات التي تعمل بالإصدار 32 بت فقط من ARCore والتي لم يتم تحديثها، لن تتمكّن من إنشاء جلسة ARCore وقد تتعطّل عند محاولة بدء جلسة الواقع المعزّز (AR) على الأجهزة المتأثرة التي تعمل بالإصدار 64 بت.
في حال ضبط السمة android:use32bitAbi="true"
في AndroidManifest.xml
الخاص بالتطبيق،
سيستخدم تطبيقك مكتبات 32 بت فقط. ستحاول أي تجارب في الواقع المعزّز في تطبيقك استخدام ARCore في وضع 32 بت. ومع ذلك، لن تكون مكتبات 32 بت متاحة في خدمة خدمات Google Play للواقع المعزّز على بعض الأجهزة التي تعمل بالإصدار 64 بت. وبدون هذه المكتبات، لن يتمكّن تطبيقك من إنشاء جلسة ARCore وقد يتعطّل عند محاولة بدء جلسة الواقع المعزّز (AR) على الأجهزة المتأثرة التي تعمل بالإصدار 64 بت. ويؤثر هذا في كل من تجارب الواقع المعزّز الأصلية وتجارب الواقع المعزّز القائمة على WebXR داخل مكوّن WebView.
متطلبات الإصدار 64 بت من "متجر Google Play"
ينطبق متطلبات ARCore 64 بت الموضّحة في القسم السابق على جميع الأجهزة التي تعمل بالإصدار 64 بت، بغض النظر عن إصدار Android ومستوى واجهة برمجة التطبيقات. يُعدّ هذا المطلب منفصلاً ولا يتعلّق بـ متطلبات نظام 64 بت في Google Play التي دخلت حيّز التنفيذ في 1 آب (أغسطس) 2019، والتي يتم تقييمها على مستوى إصدار التطبيق ولا ينطبق إلا على حِزم APK أو حِزم التطبيق التي يتم توزيعها على الأجهزة التي تعمل بالإصدار Android 9 Pie (المستوى 28 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.
فهم آلية دعم واجهة التطبيق الثنائية (ABI) في ARCore
يتيح لك ARCore إنشاء تطبيقات تتوافق مع واجهات ABI الخاصة بنظام التشغيل Android التالية:
32 بت (على سبيل المثال،
armeabi-v7a
) وتطبيقات 64 بت (arm64-v8a
) تستهدف الأجهزة المتوافقة مع ARCoreتطبيقات بنظام 32 بت (
x86
) و64 بت (x86_64
) يتم تشغيلها داخل محاكي Android
عند إنشاء تطبيق متوافق مع ARCore، سيتضمن نظام إصدار Android مكتبة واحدة أو أكثر من مكتبات ARCore الأصلية (lib/…/libarcore_sdk*.so
) لوحدات ABI التي يستهدفها تطبيقك.
في السابق، كان بالإمكان تشغيل التطبيقات التي تعمل بالإصدار 32 بت فقط من نظام ARCore على الأجهزة التي تعمل بنظام 32 بت و64 بت. في آب (أغسطس) 2020، توقّفت خدمات Google Play للواقع المعزّز (ARCore) عن تضمين مكتبات أصلية بنظام 32 بت على بعض الأجهزة التي تعمل بالإصدار 64 بت، وفي ذلك الوقت لم يعد بإمكان التطبيقات المتوافقة مع ARCore بنظام 32 بت فقط العمل على الأجهزة المتأثرة بنظام 64 بت. في إصدار مستقبلي، قد يتم أيضًا إزالة دعم التطبيقات التي تعمل بالإصدار 32 بت فقط من الأجهزة التي تستخدم ARCore بدون إشعار مسبق من الأجهزة المتبقية التي تعمل بالإصدار 64 بت.
بالنسبة إلى التطبيقات التي تعمل بالإصدار 32 بت فقط من نظام ARCore والتي لم يتم تحديثها لن تتمكن من إنشاء جلسة وقد تتعطل عند محاولة بدء جلسة الواقع المعزّز (AR) على الأجهزة المتأثرة التي تعمل بالإصدار 64 بت، على وجه التحديد:
حزمة تطوير البرامج (SDK) في ARCore | تفاصيل تعذُّر إنشاء الجلسة |
---|---|
حزمة تطوير برامج ARCore لنظام التشغيل Android (NDK) |
ستعرض السمة ArSession_create والسمة ArSession_createWithFeatures
القيمة AR_ERROR_FATAL .
|
ARCore SDK for Android (Java) |
ستعرض دوال إنشاء الجلسة،
Session(Context)
وSession(Context, Set<Session.Feature>) ،
FatalException .
|
حزمة تطوير برامج ARCore لـ Unity |
عند تفعيل المكوِّن
ARCoreSession
الذي يمكن العثور عليه عادةً على
الإعداد المسبق
ARCore Device، سيتعذّر على ARCore
إنشاء جلسة ARCore وتكون قيمة
Session.Status
SessionStatus.FatalError .
|
AR
Foundation (Unity) والمكوّن الإضافي ARCore XR |
سيتوقّف التطبيق عن العرض (ظهور شاشة سوداء) عندما يحاول التطبيق بدء جلسة الواقع المعزّز، بسبب تعطُّل سلسلة التعليمات الرئيسية أثناء محاولة تحميل مكتبات ARCore الأصلية بإصدار 32 بت غير متوفّرة. |
تحديد ما إذا كان يجب تحديث تطبيقك أم لا
للتحقّق ممّا إذا كان تطبيقك المنشور يتضمّن مكتبات ARCore الأصلية المطلوبة للتوافق مع الأجهزة التي تعمل بالإصدار 64 بت، يمكنك اتّباع الخطوات التالية:
افتح Google Play Console.
اختَر تطبيقك الذي يمكِّن ARCore.
يُرجى توسيع الإصدار النشط للتطبيق للتأكّد من أنّ الأنظمة الأساسية الأصلية تتوافق مع نظام التشغيل 64 بت (
arm64-v8a
).
تحديث التطبيق للتوافق مع الأجهزة التي تعمل بالإصدار 64 بت
لتحديث تطبيق حالي متوافق مع ARCore بإصدار 32 بت فقط لتضمين مكتبات أصلية بنظام 64 بت:
يُرجى تحديث مشروعك لاستخدام أحدث حزمة SDK لـ ARCore.
أنشِئ تطبيقك وانشره باستخدام Google Play Console.
سيتحقّق Google Play من استيفاء تطبيقك لمتطلبات نظام 64 بت
التي دخلت حيّز التنفيذ في 1 آب (أغسطس) 2019 في "متجر Google Play". للتأكّد من أنّ تطبيقك المتوافق مع ARCore يتوافق مع نظام التشغيل 64 بت (arm64-v8a
) لجميع الأجهزة التي تعمل بالإصدار 64 بت،
بغض النظر عن إصدار Android أو مستوى واجهة برمجة التطبيقات.