أطلقت جوجل منصة مفتوحة للهواتف المحمولة. Android 17. Связанные с новым выпуском исходные тексты размещены в Git-репозитории проекта (ветка android-17.0.0_r1). Сборки прошивки подготовлены для устройств Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel 9/9a/9 Pro/9 Pro XL/9 Pro Fold, Pixel 10/10 Pro/10 Pro XL/10 Pro Fold, Pixel Fold и Pixel Tablet. Предварительные сборки прошивок доступны для устройств HONOR, iQOO, Lenovo, OnePlus, OPPO, realme, Sharp, vivo и Xiaomi. В процессе формирования универсальные сборки GSI (Generic System Images), подходящие для разных устройств на базе архитектур ARM64 и x86_64.
Среди изменений (1, 2, 3):
- تمت إضافة وضع جديد للنوافذ المتعددة يُسمى "الفقاعات". يتيح لك هذا الوضع تشغيل أي تطبيق في نوافذ عائمة، على غرار إشعارات التراكب لإرسال الرسائل ("الفقاعات")، ولكنه غير مرتبط بواجهة برمجة تطبيقات خاصة. لفتح تطبيق في نافذة عائمة، اضغط مطولاً على أيقونة التطبيق. على الشاشات الكبيرة، تظهر أيقونات النوافذ العائمة في منطقة منفصلة على شريط المهام. يمكن تجميع هذه النوافذ ونقلها وتثبيتها على الشاشة.

- استمر تطوير المنصة للأجهزة ذات الشاشات الكبيرة، مثل الأجهزة اللوحية وأجهزة الكمبيوتر المحمولة وأجهزة الكمبيوتر المكتبية والهواتف الذكية ذات الشاشات القابلة للطي. وقد أُزيلت الخيارات التي كانت مُفعّلة سابقًا لتعطيل السلوك الجديد على الأجهزة ذات الشاشات التي يزيد عرضها عن 600 بكسل (dp). كان هذا السلوك مرتبطًا بتجاهل بعض واجهات برمجة التطبيقات (APIs) لإدارة تغيير حجم الشاشة واتجاهها (screenOrientation، resizeableActivity، [min|max]AspectRatio)، بالإضافة إلى وضع التطبيقات بشكل تكيفي في النوافذ القابلة لتغيير الحجم والتحريك.


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

- Добавлен системный интерфейс выбора контакта из адресной книги, доступ к которому предоставляется при получении полномочия ACTION_PICK_CONTACTS. Интерфейс позволяет обойтись без предоставления полномочия READ_CONTACTS, позволяющего прочитать все контактные данные. При вызове нового интерфейса пользователь принимает решение о том, какую именно информацию из адресной книги передать приложению с возможностью выбора только отдельных полей.

- تمت إضافة واجهة برمجة التطبيقات PhotoPickerUiCustomizationParams لتخصيص واجهة منتقي الصور، مما يسمح لها بالتوافق بشكل أفضل مع تصميم التطبيق المُستدعي. على سبيل المثال، يمكنك تغيير نسبة العرض إلى الارتفاع للصور المصغرة من 1:1 (مربع) إلى 9:16 (عمودي).

- تمت إضافة إذن استخدام زر الموقع (USE_LOCATION_BUTTON)، مما يسمح لك بتضمين زر نظام في واجهة تطبيقك لمنح الوصول إلى بيانات الموقع الدقيقة. يتم عرض الزر بواسطة النظام، وعند النقر عليه من قِبل المستخدم، يُمنح الوصول إلى بيانات الموقع فقط طوال مدة الجلسة الحالية.

- تمت إضافة إعداد يسمح لك بإخفاء عرض أسماء التطبيقات أسفل أيقوناتها.


- تم تغيير تصميم شريط أدوات تسجيل الشاشة.

- Добавлена поддержка экранных реакций (Screen Reactions), совмещающих запись видео с передней камеры с созданием скринкаста для наложения своих комментариев к действиям на экране.
- Добавлен режим для игр на устройствах со складными экранами, при котором одна половина раскладного экрана используется для отображения игрового процесса, а другая для виртуального геймпада.

- تمت إضافة واجهة برمجة تطبيقات Handoff، مما يسمح لك بنقل حالة تطبيق إلى تطبيق آخر قريب. Android- الجهاز (على سبيل المثال، جهاز لوحي) واستمر في العمل هناك.

- تم تطبيق نوافذ تفاعلية مثبتة، على عكس نوافذ صورة داخل صورة التقليدية، تظل تفاعلية عند تثبيتها فوق تطبيقات أخرى في وضع سطح المكتب.
- تمت إضافة واجهتي برمجة تطبيقات جديدتين: واجهة برمجة تطبيقات UWB DL-TDOA لتحديد موقع جهاز داخل مبنى باستخدام Wi-Fi للملاحة الداخلية؛ وواجهة برمجة تطبيقات Proximity Detection لاكتشاف الأجهزة القريبة عبر Wi-Fi.
- تمت إضافة دعم لتنسيق الفيديو VVC (ترميز الفيديو متعدد الاستخدامات)، المعروف أيضًا بمعيار ضغط الفيديو H.266، والذي طُوّر بالاشتراك بين مجموعتي عمل MPEG (ISO/IEC JTC 1) وVCEG (ITU-T)، بمشاركة شركات مثل Apple وEricsson وIntel وHuawei وMicrosoft وQualcomm وSony. يحل H.266 محل H.265 (HEVC) ويوفر نقلًا وتخزينًا عالي الكفاءة لجميع دقة الشاشة (من SD وHD إلى 4K و8K)، ويدعم فيديو النطاق الديناميكي العالي (HDR) والفيديو البانورامي بزاوية 360 درجة.
- تمت إضافة إمكانية تسجيل الفيديو بجودة ثابتة. يتم ضبط هذا الوضع في كائن MediaRecorder باستخدام الدالة setVideoEncodingQuality()، مما يسمح لك بتثبيت مستوى الجودة بغض النظر عن معدل البت.
- Добавлена поддержка формата изображений RAW14, применяемого в профессиональных цифровых камерах и обеспечивающего хранение 15 бит на цветовой канал.
- Добавлено поддержка формата HDR-видео Eclipsa Video.
- تمت إضافة برنامج ترميز لتنسيق الصوت HE-AAC (ترميز الصوت المتقدم عالي الكفاءة)، والذي يدعم معدلات البت المنخفضة والعالية.
- تمت إضافة إذن جديد، وهو ACCESS_LOCAL_NETWORK، لتقييد وصول التطبيقات إلى الشبكة المحلية. يسمح هذا الإذن للتطبيقات بتحديد الأجهزة الموجودة على الشبكة المحلية والاتصال بها، مثل أجهزة المنزل الذكية وأنظمة الوسائط المتعددة. أُضيف هذا الإذن لمنع التطبيقات الخبيثة من مسح موارد الشبكة المحلية، على سبيل المثال، لتحديد بيئة المستخدم سرًا.
- تم توسيع نطاق الحماية ضد اعتراض كلمات المرور لمرة واحدة (OTP) ورموز التأكيد المرسلة عبر الرسائل النصية القصيرة. لا يمكن لمعظم التطبيقات الآن الوصول المباشر إلى هذه الرسائل إلا بعد ثلاث ساعات من استلامها، بينما يعرض قارئ الرسائل النصية الافتراضي هذه الرسائل فورًا.
- Реализована защита от звонков мошенников, представляющихся сотрудниками банка. Платформа может взаимодействовать с установленными банковскими приложениями для подтверждения того, что звонок инициирован банком. Также банки могут определять номера телефонов на которых допускаются только входящие звонки.
- Добавлена возможность предоставления приложениям временного доступа к данным о точном местоположении, действующего только в течение текущего сеанса работы с программой.
- Механизм защиты динамической загрузки кода (DCL, Dynamic Code Loading) расширен для применения с нативными библиотеками, загружаемыми через метод System.load(), а не только
файлами в форматах DEX и JAR. DCL позволяет избежать подстановки вредоносного кода в динамически загружаемые исполняемые файлы, благодаря выставлению для подобных файлов прав доступа, допускающих только чтение. - يتم تفعيل آلية شفافية الشهادات بشكل افتراضي، حيث يتم الاحتفاظ بسجل عام لجميع الشهادات الصادرة والملغاة.
- تم إدخال القدرة على اعتماد حزم APK بتوقيع رقمي يعتمد على خوارزمية هجينة تجمع بين الخوارزمية الكلاسيكية وخوارزمية ML-DSA، وهي خوارزمية مقاومة للقوة الغاشمة على جهاز كمبيوتر كمي.
- Для приложений, работающих в фоновом режиме, ограничен доступ к API для воспроизведения звука, подключения к звуковым устройствам и изменения громкости. Подразумевается, что только активные приложения, с которыми в данный момент взаимодействует пользователь, могут начинать воспроизведение и менять громкость.
- تمت إضافة دعم للتشفير الهجين القائم على آلية HPKE (التشفير الهجين للمفتاح العام، RFC 9180)، والتي تجمع بين سهولة نقل المفاتيح في التشفير بالمفتاح العام والأداء العالي للتشفير المتماثل (يتم تشفير البيانات بمفتاح متماثل سريع، ويتم تشفير المفتاح نفسه بمفتاح غير متماثل بطيء).
- При вводе паролей и PIN-кодов при помощи физической клавиатуры по умолчанию отключено отображение последнего введённого символа по мере набора.
- لتبسيط عملية دعم لوحة اللمس في الألعاب، تم توحيد معالجة أحداث الفأرة ولوحة اللمس. افتراضيًا، تُحوّل أحداث لوحة اللمس المتعلقة بحركات المؤشر وإيماءات التمرير إلى إحداثيات نسبية، تمامًا كما هو الحال مع الفأرة. ويمكن الوصول إلى الإحداثيات المطلقة بتحديد وضع POINTER_CAPTURE_MODE_ABSOLUTE صراحةً.
- تمت إضافة طريقة getInitialRestingBounds() إلى كائن ChooserSession، مما يسمح لك بمعرفة الموضع النهائي وحجم مربع حوار Chooser بعد توقف الحركة وتحميل البيانات.
- تمت إضافة طريقتي getStreamingAppMaxDownlinkKbps و getStreamingAppMaxUplinkKbps لتحديد الحد الأقصى لعرض النطاق الترددي لقناة الاتصال لغرض اختيار مستوى الجودة للبث.
- تم توفير واجهة برمجة تطبيقات (API) لمصنعي الأجهزة لإنشاء ملحقات للكاميرا تتيح ميزات خاصة بالتطبيقات، مثل محرك تحسين التفاصيل فائق الدقة، وأوضاع تقليل الضوضاء، ومحسنات جودة الذكاء الاصطناعي.
- تمت إضافة واجهة برمجة تطبيقات (API) للحصول على معلومات حول نوع الكاميرا (كاميرا مدمجة، أو كاميرا ويب USB، أو كاميرا افتراضية).
- تمت إضافة دعم لأجهزة السمع المتصلة عبر تقنية بلوتوث منخفضة الطاقة (BLE). تُصنف هذه الأجهزة الآن ضمن فئة TYPE_BLE_HEARING_AID الجديدة، مما يسمح للتطبيقات بالتمييز بين أجهزة السمع وسماعات الرأس والتحكم في تشغيل صوت النظام بشكل منفصل (على سبيل المثال، يمكنك تشغيل الإشعارات ونغمات الرنين والمنبهات على مكبر الصوت المدمج في هاتفك بدلاً من جهاز السمع).
- تمت إضافة إعدادات منفصلة لعرض كلمات المرور المدخلة على لوحة المفاتيح الفعلية وعلى شاشة اللمس. بشكل افتراضي، يتم إخفاء أحرف كلمة المرور المدخلة باستخدام لوحة المفاتيح الفعلية فورًا.
- تحسين عرض عناصر واجهة المستخدم الخاصة بالتطبيق على الشاشات الخارجية من خلال مراعاة الاختلافات في كثافة البكسل عند تغيير الحجم.
- تمت إضافة طلب ACTION_VPN_APP_EXCLUSION_SETTINGS، والذي يمكن استخدامه لفتح شاشة النظام مع الإعدادات التي تسمح للتطبيق بالوصول إلى الشبكة متجاوزًا نفق VPN.
- تمت إضافة دعم لميزات لغة OpenJDK 25 وفئات Java.
- تم توسيع إمكانيات واجهة برمجة تطبيقات الكاميرا. أُضيفت دالة `updateOutputConfigurations()` إلى كائن `CameraCaptureSession` لربط أو فصل مناطق الإخراج أثناء التشغيل دون الحاجة إلى إعادة تهيئة جلسة التقاط الكاميرا بالكامل. يتيح هذا التغيير التبديل السلس بين أوضاع الكاميرا المختلفة (مثل تسجيل الفيديو والتقاط الصور). عند العمل مع كاميرات منطقية تغطي عدة مستشعرات فعلية، أُضيفت إمكانية استرداد البيانات الوصفية لكل مستشعر، وليس فقط المستشعر الرئيسي.
- تم إيقاف استخدام السمة android:usesCleartextTraffic، التي كانت تسمح للتطبيقات بنقل البيانات غير المشفرة، مثل طلبات "http://". في حال الحاجة إلى نقل البيانات غير المشفرة، يجب استخدام ملفات تكوين أمان منفصلة.
- تمت إضافة إعدادات لإدارة سجل مكالمات VoIP، مما يسمح لك بالتحكم فيما إذا كانت المعلومات محفوظة في السجلات وما إذا كانت المعلومات المتعلقة بالمكالمات المكتملة معروضة في الواجهة.
- تم توسيع واجهة برمجة تطبيقات Wi-Fi RTT (وقت الرحلة ذهابًا وإيابًا) لتوفير تقدير مستمر للقرب من نقاط الوصول واكتشاف عقدة الند للند الآمن.
- تمت إضافة ملفات تعريف جديدة إلى CompanionDeviceManager لطلب الأذونات وتمكين تفاعلات التطبيق مع الأجهزة الطبية وأجهزة تتبع اللياقة البدنية.
- В Android تُطبّق بيئة التشغيل (ART) مُجمّعًا مُتتابعًا للنفايات (مُجمّع النفايات المُتتابع المُتزامن المُدمج)، والذي يفصل معالجة الكائنات "القديمة" عن الكائنات "الحديثة"، مما يُحسّن كفاءة تنظيف الكائنات التي تم إنشاؤها حديثًا ذات العمر القصير. يُقلّل استخدام مُجمّع النفايات المُتتابع من خطر التوقفات أثناء تخصيص الموارد ويُخفّض حمل وحدة المعالجة المركزية، مما يُحسّن كفاءة استهلاك الطاقة.
- Реализовано ограничение на максимальный объём оперативной памяти, которое может занимать приложение. При превышении лимита, вычисляемого на основе имеющегося в устройстве ОЗУ, приложение принудительно завершается. Для сокращения размера потребляемой памяти предложен R8 Optimizer, упаковывающий имена классов, методов и полей, а также удаляющий неиспользуемый код и ресурсы.
- При сборке ядра Linux включена оптимизация AutoFDO (Auto-Feedback-Directed Optimization), использующая результаты профилирования c информацией о частоте выполнения различных участков кода для повышения производительности часто выполняемых операций. В проведённых тестах включение AutoFDO для ядра привело к сокращению времени загрузки на 2.1%, ускорению первого запуска программ на 4.3%, повышению эффективности системных вызовов на 9.3%, сокращению времени выполнения mmap-транзакций Binder на 12.3%, HwBinder на 20% и Binder RPC на 21.7%.
- يُقترح تطبيق جديد لقائمة انتظار الرسائل android.os.MessageQueue، يعمل بدون استخدام الأقفال. يُحسّن هذا التطبيق الجديد الأداء ويقلل من فقدان الإطارات.
- طلبات الحصول على الدعم Android في الإصدار 17 والإصدارات اللاحقة، يُحظر تغيير قيم الحقول التي تم وضع علامة عليها بأنها "ثابتة نهائية"، مما يسمح بتمكين تحسينات الأداء الأكثر قوة في وقت التشغيل.
- لتقليل استهلاك الذاكرة، تم تحديد حجم تخطيطات عرض الإشعارات المخصصة.
- تمت إضافة مشغلات إضافية TRIGGER_TYPE_COLD_START و TRIGGER_TYPE_OOM و TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE إلى محلل ProfilingManager لجمع البيانات المفيدة لتصحيح مشكلات الأداء.
المصدر: opennet.ru












