نحن بصدد طرح الإصدار التجريبي الأول من Android 17 اليوم، وذلك في إطار جهودنا المستمرة لإنشاء نظام أساسي يمنح الأولوية للخصوصية والأمان والأداء المحسّن. يواصل هذا الإصدار جهودنا الرامية إلى توفير تطبيقات Android أكثر قابلية للتكيّف، ويقدّم تحسينات كبيرة على إمكانات الكاميرا والوسائط، وأدوات جديدة لتحسين الاتصال، وملفات شخصية موسّعة للأجهزة المصاحبة. يسلّط هذا الإصدار الضوء أيضًا على تغيير أساسي في طريقة طرح الإصدارات الجديدة على منتدى المطوّرين، من نموذج "معاينة المطور" التقليدي إلى برنامج Android Canary.
ما بعد معاينة المطوّر
استبدل نظام التشغيل Android "معاينة المطور" التقليدية بقناة Canary مستمرة. يقدّم نموذج "التفعيل الدائم" الجديد ثلاث مزايا رئيسية:
- الوصول بشكل أسرع: يتم طرح الميزات وواجهات برمجة التطبيقات في قناة Canary فور اجتيازها الاختبار الداخلي، بدلاً من انتظار إصدار ربع سنوي.
- استقرار أفضل: يؤدي إجراء اختبارات مبكرة في قناة Canary إلى توفير تجربة إصدار تجريبي أكثر سلاسة تتضمّن واجهات برمجة تطبيقات جديدة وتغييرات في السلوك أقرب إلى الإصدار النهائي.
- اختبار أسهل: يتيح إصدار Canary إجراء تحديثات عبر الأثير (بدون الحاجة إلى التثبيت اليدوي)، وبما أنّه قناة تحديث منفصلة، يمكن دمجه بسهولة أكبر مع مهام سير العمل المتكاملة المستمرة، كما يتيح لك تقديم ملاحظات فورية حول التغييرات المحتملة القادمة في أقرب وقت ممكن.
جدول إصدار Android 17
سننتقل سريعًا من الإصدار التجريبي إلى مرحلة ثبات المنصة المستهدَفة في آذار (مارس). في هذه المرحلة، سنوفّر واجهات برمجة التطبيقات النهائية لحزمة تطوير البرامج (SDK) وحزمة تطوير البرامج الأصلية (NDK)، بالإضافة إلى السلوكيات النهائية إلى حد كبير التي تواجه التطبيقات. بعد ذلك، سيكون لديك عدة أشهر قبل الإصدار النهائي لإكمال الاختبار.
عام مليء بالأغاني الجديدة
نخطّط لمواصلة توفير تحديثات Android 17 في سلسلة من الإصدارات الربع سنوية. الإصدار القادم في الربع الثاني هو الإصدار الوحيد الذي سنطرح فيه تغييرات مخطَّط لها في السلوك الذي يؤدي إلى إيقاف التطبيق. نخطّط لإصدار حزمة SDK ثانوية في الربع الرابع تتضمّن واجهات برمجة تطبيقات وميزات إضافية.
قيود على الاتجاه وإمكانية تغيير الحجم
مع طرح الإصدار التجريبي من Android 17، ننتقل إلى المرحلة التالية من خارطة الطريق التكيّفية: يزيل الإصدار Android 17 (المستوى 37 من واجهة برمجة التطبيقات) خيار إيقاف القيود المفروضة على اتجاه الشاشة وإمكانية تغيير حجمها على الأجهزة ذات الشاشات الكبيرة (أصغر عرض > 600 وحدة بكسل مستقلة الكثافة).
عندما يستهدف تطبيقك حزمة SDK 37، يجب أن يكون جاهزًا للتكيّف. يتوقّع المستخدمون أن تعمل تطبيقاتهم في كل مكان، سواء كانوا يقومون بتعدُّد المهام على جهاز لوحي أو يفتحون جهازًا أو يستخدمون بيئة العرض في نافذة على كمبيوتر مكتبي، ويتوقّعون أن تملأ واجهة المستخدم المساحة وأن تراعي وضعية الجهاز.
أهم التغييرات في الإصدار 37 من حزمة تطوير البرامج (SDK)
يجب أن تضمن التطبيقات التي تستهدف Android 17 التوافق مع إيقاف سمات ملف البيان وواجهات برمجة التطبيقات في وقت التشغيل التي تم طرحها في Android 16. عند التشغيل على شاشة كبيرة (أصغر بُعد يساوي 600 وحدة بكسل مستقلة الكثافة أو أكثر)، سيتم تجاهل السمات وواجهات برمجة التطبيقات التالية:
| سمات ملف البيان/واجهة برمجة التطبيقات | القيم التي يتم تجاهلها |
| screenOrientation | portrait, reversePortrait, sensorPortrait, userPortrait, landscape, reverseLandscape, sensorLandscape, userLandscape |
| setRequestedOrientation() | portrait, reversePortrait, sensorPortrait, userPortrait, landscape, reverseLandscape, sensorLandscape, userLandscape |
| resizeableActivity | الكل |
| minAspectRatio | الكل |
| maxAspectRatio | الكل |
الاستثناءات وعناصر التحكّم الخاصة بالمستخدم
هذه التغييرات خاصة بالشاشات الكبيرة، وهي لا تنطبق على الشاشات الأصغر من sw600dp (بما في ذلك الهواتف التقليدية ذات الشكل اللوحي). بالإضافة إلى ذلك، تُستثنى التطبيقات المصنّفة ضمن الألعاب (استنادًا إلى العلامة android:appCategory) من هذه القيود.
من المهم أيضًا ملاحظة أنّ المستخدمين يظلون متحكّمين في بياناتهم. ويمكنهم الموافقة صراحةً على استخدام السلوك التلقائي للتطبيق أو رفضه من خلال إعدادات نسبة العرض إلى الارتفاع في النظام.
تعديلات على تغييرات الإعدادات
لتحسين توافق التطبيقات والمساعدة في الحدّ من انقطاع تشغيل الفيديو وفقدان البيانات المدخلة وأنواع أخرى من فقدان الحالة المزعج، نعمل على تعديل السلوك التلقائي لإعادة إنشاء الأنشطة. اعتبارًا من Android 17، لن يعيد النظام تشغيل الأنشطة تلقائيًا عند إجراء تغييرات معيّنة في الإعدادات لا تتطلّب عادةً إعادة إنشاء واجهة المستخدم، بما في ذلك CONFIG_KEYBOARD وCONFIG_KEYBOARD_HIDDEN وCONFIG_NAVIGATION وCONFIG_UI_MODE (عند تغيير UI_MODE_TYPE_DESK فقط) وCONFIG_TOUCHSCREEN وCONFIG_COLOR_MODE. بدلاً من ذلك، ستتلقّى الأنشطة الجارية هذه التحديثات ببساطة من خلال onConfigurationChanged. إذا كان تطبيقك يعتمد على إعادة التشغيل الكاملة لإعادة تحميل الموارد لهذه التغييرات، عليك الآن الموافقة صراحةً باستخدام سمة البيان الجديدة android:recreateOnConfigChanges، والتي تتيح لك تحديد تغييرات الإعدادات التي يجب أن تؤدي إلى دورة حياة كاملة للنشاط (من الإيقاف إلى الإتلاف ثم الإنشاء مرة أخرى)، بالإضافة إلى الثوابت ذات الصلة mcc وmnc والثوابت الجديدة keyboard وkeyboardHidden وnavigation وtouchscreen وcolorMode.
تجهيز تطبيقك
لقد أطلقنا أدوات ومستندات لتسهيل هذه العملية عليك. تتضمّن مشاركة المدوّنة المخصّصة المزيد من الإرشادات، بالإضافة إلى استراتيجيات لمعالجة المشاكل الشائعة. يجب أن تتوافق التطبيقات مع التصميمَين الأفقي والعمودي لأحجام النوافذ على مستوى النطاق الكامل لنسب العرض إلى الارتفاع، لأنّه لن يكون من الممكن حظر الاتجاه أو نسبة العرض إلى الارتفاع. ننصحك باختبار تطبيقك باستخدام الإصدار التجريبي الأول من Android 17 مع محاكيات Pixel Tablet أو Pixel Fold (تم ضبطها على targetSdkPreview = "CinnamonBun") أو باستخدام إطار عمل اختبار توافق التطبيقات لتفعيل UNIVERSAL_RESIZABLE_BY_DEFAULT على أجهزة Android 16.
الأداء
Lock-free MessageQueue
في Android 17، ستتلقّى التطبيقات التي تستهدف حزمة تطوير البرامج (SDK) 37 أو الإصدارات الأحدث عملية تنفيذ جديدة android.os.MessageQueue حيث تكون عملية التنفيذ غير قابلة للقفل. يؤدي التنفيذ الجديد إلى تحسين الأداء وتقليل اللقطات التي لم يتم عرضها، ولكن قد يؤدي إلى تعطُّل البرامج التي تستخدم الحقول والأساليب الخاصة في MessageQueue.
جمع البيانات غير المستخدَمة الخاصة بجيل معيَّن
يقدّم Android 17 ميزة جمع البيانات المهملة حسب الأجيال إلى أداة جمع البيانات المتزامنة من نوع "وضع العلامات والضغط" في ART. يؤدي هذا التحسين إلى توفير عمليات جمع البيانات المُهمَلة الأكثر تكرارًا والأقل استهلاكًا للموارد في الجيل الجديد، بالإضافة إلى عمليات جمع البيانات المُهمَلة الكاملة للمكدّس، وذلك بهدف تقليل التكلفة الإجمالية لوحدة المعالجة المركزية (CPU) ومدة جمع البيانات المُهمَلة. تتوفّر تحسينات ART أيضًا على أكثر من مليار جهاز يعمل بالإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث من خلال تحديثات نظام Google Play.
أصبحت الحقول النهائية الثابتة نهائية حقًا
اعتبارًا من Android 17، لن تتمكّن التطبيقات التي تستهدف Android 17 أو الإصدارات الأحدث من تعديل الحقول "static final"، ما يسمح لوقت التشغيل بتطبيق تحسينات الأداء بشكل أكثر فعالية. وستؤدي محاولة إجراء ذلك باستخدام الانعكاس (والانعكاس العميق) دائمًا إلى ظهور الخطأ IllegalAccessException. سيؤدي تعديلها باستخدام مجموعة طرق SetStatic<Type>Field في JNI إلى تعطُّل التطبيق على الفور.
القيود المفروضة على عرض الإشعارات المخصّصة
لتقليل استخدام الذاكرة، سنفرض قيودًا على حجم طرق عرض الإشعارات المخصّصة. يعمل هذا التحديث على سدّ ثغرة تسمح للتطبيقات بتجاوز الحدود الحالية باستخدام معرّفات الموارد المنتظمة (URI). يتم التحكّم في هذا السلوك من خلال الإصدار المستهدف من حزمة تطوير البرامج (SDK)، ويسري على التطبيقات التي تستهدف المستوى 37 من واجهة برمجة التطبيقات والإصدارات الأحدث.
عوامل تشغيل جديدة في ProfilingManager لتصحيح أخطاء الأداء
لقد أضفنا العديد من مشغّلات النظام الجديدة إلى ProfilingManager لمساعدتك في جمع بيانات تفصيلية لتصحيح أخطاء مشاكل الأداء. وهذه المشغّلات هي TRIGGER_TYPE_COLD_START و TRIGGER_TYPE_OOM و وTRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE.
للتعرّف على كيفية إعداد مشغّلات النظام الجديدة، يمكنك الاطّلاع على مستندات إنشاء الملفات الشخصية المستندة إلى المشغّلات واسترداد بيانات الملفات الشخصية وتحليلها.
الوسائط والكاميرا
يوفّر Android 17 أدوات احترافية لتطبيقات الوسائط والكاميرا، مع ميزات مثل عمليات الانتقال السلس ومستوى الصوت الموحّد.
تحديثات جلسة الكاميرا الديناميكية
لقد أضفنا updateOutputConfigurations() إلى CameraCaptureSession. يتيح لك ذلك ربط مساحات العرض وفصلها بشكل ديناميكي بدون الحاجة إلى إعادة ضبط جلسة التقاط الكاميرا بالكامل. يتيح هذا التغيير الانتقال بسلاسة بين حالات استخدام الكاميرا وأوضاعها (مثل التقاط صور ثابتة مقابل التقاط فيديوهات) بدون تكلفة الذاكرة وتعقيد الرمز البرمجي اللازمين لإعداد جميع مساحات إخراج الكاميرا التي قد يحتاجها تطبيقك والاحتفاظ بها أثناء بدء تشغيل الكاميرا. يساعد ذلك في التخلص من الأخطاء أو حالات التجمّد التي تظهر للمستخدم أثناء التشغيل.
fun updateCameraSession(session: CameraCaptureSession, newOutputConfigs: List<OutputConfiguration>)) {
// Dynamically update the session without closing and reopening
try {
// Update the output configurations
session.updateOutputConfigurations(newOutputConfigs)
} catch (e: CameraAccessException) {
// Handle error
}
}البيانات الوصفية لجهاز الكاميرات المتعددة المنطقية
عند استخدام الكاميرات المنطقية التي تجمع بين أجهزة استشعار متعددة للكاميرات الفعلية، يمكنك الآن طلب بيانات وصفية إضافية من جميع الكاميرات الفعلية النشطة المشارِكة في عملية الالتقاط، وليس فقط الكاميرا الأساسية. في السابق، كان عليك تنفيذ حلول بديلة، وفي بعض الأحيان تخصيص بث مباشر غير ضروري، للحصول على البيانات الوصفية من الكاميرات النشطة الثانوية (على سبيل المثال، أثناء تبديل العدسة للتكبير حيث تكون الكاميرا التابعة نشطة). تضيف هذه الميزة مفتاحًا جديدًا، LOGICAL_MULTI_CAMERA_ADDITIONAL_RESULTS، في CaptureRequest وCaptureResult. من خلال ضبط هذا المفتاح على ON في CaptureRequest، ستتضمّن TotalCaptureResult بيانات وصفية من هذه الكاميرات المادية النشطة الإضافية. يمكنك الوصول إلى هذه البيانات الوصفية الشاملة باستخدام TotalCaptureResult.getPhysicalCameraTotalResults() للحصول على معلومات أكثر تفصيلاً قد تتيح لك تحسين استخدام الموارد في تطبيقات الكاميرا.
التوافق مع ترميز الفيديو المتعدّد الاستخدامات (VVC)
يتيح الإصدار 17 من نظام التشغيل Android استخدام معيار ترميز الفيديو المتعدّد الاستخدامات (VVC). ويشمل ذلك تحديد نوع MIME video/vvc في MediaFormat، وإضافة ملفات تعريف VVC جديدة في MediaCodecInfo، ودمج إمكانية التوافق في MediaExtractor. ستتوفّر هذه الميزة على الأجهزة التي تتوافق معها برامج التشغيل وتتيح فك التشفير باستخدام الأجهزة.
جودة ثابتة لتسجيل الفيديو
أضفنا setVideoEncodingQuality() إلى MediaRecorder. يتيح لك ذلك ضبط وضع جودة ثابتة (CQ) لبرامج ترميز الفيديو، ما يمنحك تحكّمًا أفضل في جودة الفيديو بما يتجاوز إعدادات معدل نقل البيانات البسيطة.
تحسين أمان الصوت في الخلفية
اعتبارًا من Android 17، سيفرض إطار عمل الصوت قيودًا على تفاعلات الصوت في الخلفية، بما في ذلك تشغيل الصوت وطلبات التركيز على الصوت وواجهات برمجة التطبيقات الخاصة بتغيير مستوى الصوت، وذلك لضمان أنّ المستخدم هو من يبدأ هذه التغييرات عن قصد.
إذا حاول التطبيق طلب بيانات من واجهات برمجة تطبيقات الصوت أثناء عدم توفّر التطبيق في دورة حياة صالحة، ستتعذّر واجهات برمجة تطبيقات تشغيل الصوت وتغيير مستوى الصوت بدون ظهور أي استثناء أو رسالة خطأ. ستتعذّر واجهة برمجة التطبيقات الخاصة بأولويّة الصوت، وسيظهر رمز النتيجة AUDIOFOCUS_REQUEST_FAILED.
الخصوصية والأمان
إيقاف سمة "البيانات غير المشفّرة" نهائيًا
تم إيقاف السمة android:usesCleartextTraffic نهائيًا. إذا كان تطبيقك يستهدف الإصدار 17 من نظام التشغيل Android أو الإصدارات الأحدث ويعتمد على usesCleartextTraffic="true" بدون إعدادات أمان الشبكة مقابلة، سيتم تلقائيًا ضبطه على عدم السماح بزيارات النص غير المرمّز. ننصحك بنقل البيانات إلى ملفات إعدادات أمان الشبكة للتحكّم الدقيق.
التشفير المختلط باستخدام HPKE
نحن بصدد طرح واجهة موفِّر خدمة (SPI) متاحة للجميع لتنفيذ التشفير المختلط HPKE، ما يتيح إجراء اتصالات آمنة باستخدام مزيج من المفتاح العام والتشفير المتماثل (AEAD).
الاتصال والاتصالات
سجلّ مكالمات VoIP المحسَّن
نقدّم ميزة إدارة الإعدادات المفضّلة للمستخدمين من أجل دمج سجلّ مكالمات VoIP في التطبيق. ويشمل ذلك إتاحة معرّفات الموارد المنتظمة (URI) الخاصة بصور الأفاتار للمتصلين والمشاركين في تطبيق الاتصال التابع للنظام، ما يتيح للمستخدم التحكّم بشكل دقيق في خصوصية سجلّ المكالمات وإثراء العرض المرئي لسجلّات مكالمات بروتوكول نقل الصوت عبر الإنترنت (VoIP) المدمجة.
تحديد نطاق شبكة Wi-Fi والقرب
تم تحسين نطاق Wi-Fi من خلال إمكانات جديدة لرصد القرب، ما يتيح تحديد النطاق بشكل مستمر واكتشاف الأجهزة المجاورة بشكل آمن. تشمل التعديلات على Wi-Fi Aware نطاقات جديدة لواجهات برمجة التطبيقات الخاصة بمعرّفات الأجهزة المتصلة وذاكرة التخزين المؤقت لمعرّف PMKID من أجل تحديد النطاق الآمن 11az.
إنتاجية المطوّرين وأدواتهم
تحديثات لتطبيقات الأجهزة المصاحبة
لقد أضفنا ملفَين جديدَين إلى CompanionDeviceManager لتحسين التمييز بين الأجهزة والتعامل مع الأذونات:
- الأجهزة الطبية: يتيح هذا الملف الشخصي لتطبيقات الأجهزة الطبية على الأجهزة الجوّالة طلب جميع الأذونات اللازمة بنقرة واحدة، ما يسهّل عملية الإعداد.
- أدوات تتبُّع اللياقة البدنية: يتيح الملف الشخصي DEVICE_PROFILE_FITNESS_TRACKER للتطبيقات المصاحبة أن تشير بوضوح إلى أنّها تدير أداة تتبُّع اللياقة البدنية. ويضمن ذلك توفير تجارب مستخدم دقيقة باستخدام رموز مميزة مع إعادة استخدام أذونات أدوار المشاهدة الحالية.
بالإضافة إلى ذلك، يوفّر CompanionDeviceManager الآن مربّع حوار موحّدًا لربط الأجهزة وطلبات الإذن بالوصول إلى الأجهزة المجاورة. يمكنك الاستفادة من طريقة setExtraPermissions الجديدة في AssociationRequest.Builder لتجميع طلبات أذونات الأجهزة القريبة ضمن مسار الربط الحالي، ما يقلّل عدد مربّعات الحوار المعروضة للمستخدم.
بدء استخدام نظام التشغيل Android 17
يمكنك تسجيل أي جهاز Pixel متوافق للحصول على هذا التحديث والتحديثات المستقبلية من الإصدار التجريبي من Android عبر اتصال لاسلكي. إذا لم يكن لديك جهاز Pixel، يمكنك استخدام صور نظام 64 بت مع "محاكي Android" في "استوديو Android".
إذا كنت مشاركًا حاليًا في برنامج الإصدار التجريبي من Android، سيتم عرض تحديث عبر اتصال لاسلكي إلى الإصدار التجريبي 1.
إذا كان لديك الإصدار التجريبي من Android 26Q1 وأردت الحصول على الإصدار الثابت النهائي من 26Q1 والخروج من الإصدار التجريبي، عليك تجاهل التحديث عبر الأثير إلى الإصدار التجريبي 1 من 26Q2 وانتظار إصدار 26Q1.
نحن نتطلّع إلى تلقّي ملاحظاتك، لذا يُرجى الإبلاغ عن المشاكل وإرسال طلبات بشأن الميزات على صفحة الملاحظات. كلما تلقّينا ملاحظاتك في وقت مبكر، تمكّنا من تضمينها بشكل أكبر في عملنا على الإصدار النهائي.
للحصول على أفضل تجربة تطوير باستخدام Android 17، ننصحك باستخدام أحدث إصدار مبكر من استوديو Android (Panda). بعد إعداد حسابك، إليك بعض الإجراءات التي يجب اتّخاذها:
- يمكنك تجميع الإصدارات باستخدام حزمة SDK الجديدة واختبارها في بيئات الدمج المتواصل، والإبلاغ عن أي مشاكل في أداة التتبُّع على صفحة الملاحظات.
- اختبِر تطبيقك الحالي للتأكّد من توافقه، واعرف ما إذا كان تطبيقك سيتأثر بالتغييرات في Android 17، وثبِّت تطبيقك على جهاز أو محاكي يعمل بنظام التشغيل Android 17 واختبِره بشكلٍ شامل.
سنعدّل صور نظام الإصدار التجريبي/الإصدار الأولي وحزمة تطوير البرامج (SDK) بانتظام طوال دورة إصدار Android 17. بعد تثبيت إصدار تجريبي، ستتلقّى تلقائيًا التحديثات المستقبلية عبر الأثير لجميع الإصدارات التجريبية اللاحقة.
للحصول على معلومات كاملة، يُرجى الانتقال إلى الموقع الإلكتروني لمطوّري تطبيقات Android 17.
الانضمام إلى المحادثة
مع اقترابنا من إصدار Platform Stability والإصدار الثابت النهائي من Android 17 في وقت لاحق من هذا العام، ستظل ملاحظاتك هي أهم ما نملكه. سواء كنت من أوائل المستخدمين في قناة Canary أو مطوّر تطبيقات يختبر الإصدار التجريبي 1، ننصحك بالانضمام إلى منتدياتنا وإرسال الملاحظات. نحن نستمع إلى ملاحظاتكم.
-
أخبار المنتجاتنطرح اليوم المجموعة الأولى من المهام الطويلة الأمد (LHT)، وهي مهام معقّدة للغاية يستغرق إكمالها عدة أيام أو حتى أسبوع من المهندس. نقدّم أيضًا التقييم المستند إلى الوكلاء، بدءًا بالوكلاء من مقدّمي النماذج المعنيين.
Matthew McCullough • مدّة القراءة: 3 دقائق -
أخبار المنتجاتنطرح اليوم نظام التشغيل Android 17 وسنوفّره على معظم أجهزة Pixel المتوافقة. ترقَّب طرح أجهزة جديدة تعمل بالإصدار 17 من نظام التشغيل Android خلال الأشهر المقبلة.
Matthew McCullough • 13 دقيقة للقراءة -
أخبار المنتجاتيتضمّن مؤتمر Google I/O لعام 2026 17 إعلانًا رئيسيًا لمطوّري تطبيقات Android تركّز على الإنتاجية المستندة إلى الذكاء الاصطناعي الوكيل، واعتماد Compose First كمعيار لواجهة المستخدم، وتوفير وسائط عالية الأداء وتطوير تكيفي للمنظومة المتكاملة المتنامية.
Matthew McCullough • مدّة القراءة: 8 دقائق
يمكنك تلقّي أحدث الإحصاءات حول تطوير تطبيقات Android في بريدك الوارد أسبوعيًا.