نحن بصدد إطلاق الإصدار التجريبي الأول من 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)
يتيح Android 17 استخدام معيار ترميز الفيديو المتعدّد الاستخدامات (VVC). ويشمل ذلك تحديد نوع MIME video/vvc في MediaFormat، وإضافة ملفات تعريف VVC جديدة في MediaCodecInfo، ودمج إمكانية التوافق في MediaExtractor. ستتوفّر هذه الميزة على الأجهزة التي تتوافق معها برامج التشغيل وتتيح فك التشفير باستخدام الأجهزة.
جودة ثابتة لتسجيل الفيديو
أضفنا setVideoEncodingQuality() إلى MediaRecorder. يتيح لك ذلك ضبط وضع جودة ثابتة (CQ) لبرامج ترميز الفيديو، ما يمنحك تحكّمًا أفضل في جودة الفيديو بما يتجاوز إعدادات معدل نقل البيانات البسيطة.
تحسين أمان الصوت في الخلفية
اعتبارًا من Android 17، سيفرض إطار عمل الصوت قيودًا على تفاعلات الصوت في الخلفية، بما في ذلك تشغيل الصوت وطلبات التركيز على الصوت وواجهات برمجة التطبيقات لتغيير مستوى الصوت، وذلك لضمان بدء المستخدم لهذه التغييرات عن قصد.
إذا حاول التطبيق طلب بيانات من واجهات برمجة تطبيقات الصوت أثناء عدم توفّر التطبيق في دورة حياة صالحة، ستتعذّر واجهات برمجة التطبيقات لتشغيل الصوت وتغيير مستوى الصوت بدون ظهور استثناء أو رسالة خطأ. ستتعذّر واجهة برمجة التطبيقات الخاصة بأولويّة الصوت، وسيظهر رمز النتيجة AUDIOFOCUS_REQUEST_FAILED.
الخصوصية والأمان
إيقاف سمة "البيانات غير المشفّرة" نهائيًا
تم إيقاف السمة android:usesCleartextTraffic نهائيًا. إذا كان تطبيقك يستهدف الإصدار Android 17 أو الإصدارات الأحدث ويعتمد على usesCleartextTraffic="true" بدون إعداد أمان شبكة مطابق، سيتم تلقائيًا ضبط الإعداد على عدم السماح بزيارات cleartext. ننصحك بنقل البيانات إلى ملفات إعدادات أمان الشبكة للتحكّم الدقيق.
التشفير المختلط باستخدام 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، وثبِّت تطبيقك على جهاز أو محاكي يعمل بنظام التشغيل Android 17 واختبِره بشكلٍ شامل.
سنحدّث صور نظام الإصدار التجريبي/المسبق وحزمة تطوير البرامج (SDK) بانتظام طوال دورة إصدار Android 17. بعد تثبيت إصدار تجريبي، ستتلقّى تلقائيًا التحديثات المستقبلية عبر الأثير لجميع الإصدارات التجريبية اللاحقة.
للحصول على معلومات كاملة، يُرجى الانتقال إلى الموقع الإلكتروني لمطوّري تطبيقات Android 17.
الانضمام إلى المحادثة
مع اقترابنا من إصدار Platform Stability والإصدار الثابت النهائي من Android 17 في وقت لاحق من هذا العام، ستظل ملاحظاتك هي أهم ما نملكه. سواء كنت من أوائل المستخدمين على قناة Canary أو مطوّر تطبيقات يختبر الإصدار التجريبي 1، ننصحك بالانضمام إلى منتدياتنا وإرسال ملاحظاتك. نحن نستمع إليك.
-
أخبار المنتجاتيتضمّن مؤتمر Google I/O لعام 2026 17 إعلانًا رئيسيًا لمطوّري تطبيقات Android تركّز على الإنتاجية المستندة إلى الذكاء الاصطناعي الوكيل، وCompose First كمعيار لواجهة المستخدم، والوسائط عالية الأداء، والتطوير التكيّفي للمنظومة المتكاملة المتوسّعة.
Matthew McCullough • يستغرق الاطّلاع على المقال 8 دقائق -
أخبار المنتجاتأعلنّا اليوم خلال فعالية The Android Show أنّ نظام التشغيل Android سيتحوّل من نظام تشغيل إلى نظام ذكي، ما يتيح المزيد من فرص التفاعل مع تطبيقاتك.
Matthew McCullough • مدّة القراءة: 4 دقائق -
أخبار المنتجاتنعمل اليوم على تحسين عملية تطوير تطبيقات Android باستخدام Gemma 4، وهو أحدث نموذج مفتوح المصدر ومتطوّر مصمّم بقدرات معقّدة للاستدلال واستخدام الأدوات بشكل مستقل.
Matthew McCullough • مدّة القراءة: دقيقتان
يمكنك تلقّي أحدث الإحصاءات حول تطوير تطبيقات Android في بريدك الوارد أسبوعيًا.