Google-ը թողարկել է բաց բջջային հարթակ։ 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):
- Ավելացվել է նոր բազմապատուհան ռեժիմ՝ «Փուչիկներ»։ Այն թույլ է տալիս գործարկել ցանկացած ծրագիր լողացող պատուհաններում, նման հաղորդագրություններ ուղարկելու համար նախատեսված ծածկող ծանուցումների («փուչիկներ»), բայց ոչ մասնագիտացված API-ի հետ կապված։ Ծրագիրը լողացող պատուհանում բացելը կատարվում է ծրագրի պատկերակի վրա երկար սեղմելով։ Մեծ էկրանների վրա լողացող պատուհանի պատկերակները հայտնվում են առաջադրանքների վահանակի առանձին տարածքում։ Այս պատուհանները կարող են խմբավորվել, տեղափոխվել և ամրացվել էկրանին։

- Մեծ էկրաններով սարքերի, ինչպիսիք են պլանշետները, նոութբուքերը, սեղանադիր համակարգերը և ծալովի էկրաններով սմարթֆոնները, հարթակների մշակումը շարունակվել է: 600 պիքսելից (dp) ավելի լայն էկրաններով սարքերում նոր վարքագիծը անջատելու նախկինում միացված տարբերակները հեռացվել են: Այս վարքագիծը կապված էր էկրանի չափափոխման և կողմնորոշման կառավարման որոշակի API-ների անտեսման, ինչպես նաև չափափոխվող և շարժական պատուհաններում հավելվածների հարմարվողական տեղադրման հետ:


- Ավելացվել է EyeDropper API-ը, որը թույլ է տալիս հավելվածներին ստանալ էկրանի ցանկացած պիքսելի գունային տեղեկատվություն՝ առանց էկրանի լուսանկարման թույլտվություն պահանջելու: Անվտանգությունն ապահովվում է՝ թույլ տալով օգտատիրոջը ընտրել գունային լուսանկարման ենթակա տարածքը հարթակի կողմից կառավարվող կաթոցիկի ինտերֆեյսի միջոցով, որը հավելվածի վերահսկողության տակ չէ: Սա նշանակում է, որ հավելվածները չեն կարող տեղեկատվություն խնդրել որոշակի պիքսելի մասին կամ վերստեղծել էկրանի բովանդակությունը պիքսել առ պիքսել:

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

- PhotoPickerUiCustomizationParams API-ը ավելացվել է՝ լուսանկարների ընտրիչի ինտերֆեյսը հարմարեցնելու համար, ինչը թույլ է տալիս այն ավելի լավ համապատասխանել զանգահարող հավելվածի ոճին: Օրինակ, կարող եք փոխել լուսանկարների մանրապատկերների կողմերի հարաբերակցությունը 1:1-ից (քառակուսի) մինչև 9:16 (ուղղահայաց):

- Ավելացվել է USE_LOCATION_BUTTON թույլտվությունը, որը թույլ է տալիս ձեր ծրագրի ինտերֆեյսում ներդնել համակարգի կոճակ՝ ճշգրիտ գտնվելու վայրի տվյալներին մուտք գործելու համար: Կոճակը մշակվում է համակարգի կողմից, և երբ օգտատերը սեղմում է այն, այն մուտք է տալիս գտնվելու վայրի տվյալներին միայն ընթացիկ նստաշրջանի տևողության համար:

- Ավելացվել է կարգավորում, որը թույլ է տալիս թաքցնել ծրագրերի անունների ցուցադրումը դրանց պատկերակների տակ։


- Էկրանի հեռարձակման ձայնագրման գործիքագոտու դիզայնը փոխվել է։

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

- Добавлен API Handoff, позволяющий передать состояние приложения на находящееся поблизости другое Android-устройство (например, планшет) и продолжить там работу.

- Ներդրվել են ինտերակտիվ կցված պատուհաններ, որոնք, ի տարբերություն ավանդական «Նկար նկարի մեջ» պատուհանների, մնում են ինտերակտիվ, երբ կցվում են այլ ծրագրերի վրա աշխատասեղանի ռեժիմում։
- Ավելացվել են երկու նոր API-ներ՝ UWB DL-TDOA API-ը՝ շենքի ներսում սարքի դիրքը Wi-Fi-ի միջոցով որոշելու համար՝ ներսում նավիգացիայի համար, և Proximity Detection API-ը՝ մոտակա սարքերը Wi-Fi-ի միջոցով հայտնաբերելու համար։
- Ավելացվել է VVC (Versatile Video Coding) տեսանյութի ձևաչափի, որը հայտնի է նաև որպես 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, որը սահմանափակում է հավելվածների մուտքը տեղական ցանց: Այս թույլտվությունը թույլ է տալիս հավելվածներին նույնականացնել և միանալ տեղական ցանցի սարքերին, ինչպիսիք են խելացի տան սարքերը և մուլտիմեդիա համակարգերը: Այս թույլտվությունը ավելացվել է՝ չարամիտ հավելվածների կողմից տեղական ցանցային ռեսուրսների սկանավորումը կանխելու համար, օրինակ՝ օգտատիրոջ միջավայրը գաղտնի նույնականացնելու համար:
- SMS-ով ուղարկված միանգամյա գաղտնաբառերի (OTP) և հաստատման կոդերի խափանումից պաշտպանությունն ընդլայնվել է: Այժմ հավելվածների մեծ մասն այս հաղորդագրություններին անմիջական մուտք ունի միայն դրանք ստանալուց երեք ժամ անց: Լռելյայն SMS ընթերցողը անմիջապես ցուցադրում է այս հաղորդագրությունները:
- Реализована защита от звонков мошенников, представляющихся сотрудниками банка. Платформа может взаимодействовать с установленными банковскими приложениями для подтверждения того, что звонок инициирован банком. Также банки могут определять номера телефонов на которых допускаются только входящие звонки.
- Добавлена возможность предоставления приложениям временного доступа к данным о точном местоположении, действующего только в течение текущего сеанса работы с программой.
- Механизм защиты динамической загрузки кода (DCL, Dynamic Code Loading) расширен для применения с нативными библиотеками, загружаемыми через метод System.load(), а не только
файлами в форматах DEX и JAR. DCL позволяет избежать подстановки вредоносного кода в динамически загружаемые исполняемые файлы, благодаря выставлению для подобных файлов прав доступа, допускающих только чтение. - Վկայականների թափանցիկության մեխանիզմը միացված է լռելյայնորեն, պահպանելով բոլոր տրված և չեղյալ հայտարարված վկայականների հանրային գրանցամատյանը,
- Ներկայացվել է APK փաթեթները թվային ստորագրությամբ հավաստագրելու հնարավորություն՝ հիմնված հիբրիդային ալգորիթմի վրա, որը համատեղում է դասական ալգորիթմը ML-DSA ալգորիթմի հետ, որը դիմացկուն է քվանտային համակարգչի վրա կոպիտ ուժի ազդեցությանը։
- Для приложений, работающих в фоновом режиме, ограничен доступ к API для воспроизведения звука, подключения к звуковым устройствам и изменения громкости. Подразумевается, что только активные приложения, с которыми в данный момент взаимодействует пользователь, могут начинать воспроизведение и менять громкость.
- Ավելացվել է հիբրիդային կոդավորման աջակցություն՝ հիմնված HPKE (Hybrid Public Key Encryption, RFC 9180) մեխանիզմի վրա, որը համատեղում է հանրային բանալու կոդավորման մեջ բանալու փոխանցման հեշտությունը սիմետրիկ կոդավորման բարձր արդյունավետության հետ (տվյալները կոդավորվում են արագ սիմետրիկ բանալիով, իսկ բանալին ինքնին կոդավորվում է դանդաղ ասիմետրիկ բանալիով):
- При вводе паролей и PIN-кодов при помощи физической клавиатуры по умолчанию отключено отображение последнего введённого символа по мере набора.
- Խաղերում սենսորային վահանակի աջակցության ներդրումը պարզեցնելու համար մկնիկի և սենսորային վահանակի իրադարձությունների կառավարումը միասնականացվել է: Ըստ լռելյայնի, ցուցիչի շարժումների և գլորման ժեստերի հետ կապված սենսորային վահանակի իրադարձությունները այժմ վերածվում են հարաբերական կոորդինատների, ինչպես մկնիկի դեպքում: Բացարձակ կոորդինատներին մուտքը տրամադրվում է POINTER_CAPTURE_MODE_ABSOLUTE ռեժիմը հստակորեն նշելով:
- getInitialRestingBounds() մեթոդը ավելացվել է ChooserSession օբյեկտին, որը թույլ է տալիս պարզել Chooser երկխոսության պատուհանի վերջնական դիրքը և չափը անիմացիայի ավարտից և տվյալների բեռնումից հետո։
- Հոսքային հեռարձակման որակի մակարդակը ընտրելու նպատակով կապի ալիքի առավելագույն թողունակությունը որոշելու համար ավելացվել են getStreamingAppMaxDownlinkKbps և getStreamingAppMaxUplinkKbps մեթոդները։
- Սարքավորումների արտադրողներին տրամադրվել է API՝ տեսախցիկի ընդլայնումներ ստեղծելու համար, որոնք հնարավորություն են տալիս օգտագործել հավելվածին հատուկ գործառույթներ, ինչպիսիք են Super Resolution մանրամասների բարելավման շարժիչը, աղմուկի նվազեցման ռեժիմները և արհեստական բանականության որակի օպտիմալացուցիչները։
- Ավելացվել է API՝ տեսախցիկի տեսակի մասին տեղեկատվություն ստանալու համար (ներկառուցված տեսախցիկ, USB վեբ տեսախցիկ կամ վիրտուալ տեսախցիկ):
- Ավելացվել է Bluetooth Low Energy (BLE) միջոցով միացված լսողական սարքերի աջակցություն: Այս սարքերն այժմ դասակարգվում են նոր TYPE_BLE_HEARING_AID կատեգորիայի ներքո, որը թույլ է տալիս հավելվածներին տարբերակել լսողական սարքերը ականջակալներից և առանձին կառավարել համակարգի ձայնի վերարտադրությունը (օրինակ՝ դուք կարող եք ծանուցումներ, զանգերի մեղեդիներ և զարթուցիչներ նվագարկել ձեր հեռախոսի ներկառուցված բարձրախոսի վրա, այլ ոչ թե ձեր լսողական սարքի վրա):
- Առանձին կարգավորումներ են ավելացվել ֆիզիկական ստեղնաշարի և սենսորային էկրանի վրա մուտքագրված գաղտնաբառերի ցուցադրման համար: Ըստ լռելյայնի, ֆիզիկական ստեղնաշարի միջոցով մուտքագրված գաղտնաբառի նիշերը անմիջապես թաքցվում են:
- Արտաքին էկրաններին հավելվածի վիջեթների ցուցադրման բարելավում՝ մասշտաբավորման ժամանակ DPI-ի տարբերությունները հաշվի առնելով։
- Ավելացվել է ACTION_VPN_APP_EXCLUSION_SETTINGS հարցումը, որը կարող է օգտագործվել համակարգի էկրանը բացելու համար՝ կարգավորումներով, որոնք թույլ են տալիս ծրագրին ցանցային մուտք ունենալ՝ շրջանցելով VPN թունելը:
- Ավելացվել է OpenJDK 25 լեզվի գործառույթների և Java դասերի աջակցությունը։
- Camera API-ի հնարավորությունները ընդլայնվել են: CameraCaptureSession օբյեկտին ավելացվել է updateOutputConfigurations() մեթոդը՝ ելքային շրջանները արագ կցելու կամ անջատելու համար՝ առանց ամբողջ տեսախցիկի նկարահանման սեսիան վերակազմավորելու անհրաժեշտության: Այս փոփոխությունը թույլ է տալիս անխափան անցում կատարել տեսախցիկի տարբեր ռեժիմների միջև (օրինակ՝ տեսանկարահանում և լուսանկարահանում): Երբ աշխատում եք բազմաթիվ ֆիզիկական սենսորներ ներառող տրամաբանական տեսախցիկների հետ, ավելացվել է ոչ միայն հիմնականի, այլև յուրաքանչյուր սենսորի մետատվյալները ստանալու հնարավորություն:
- android:usesCleartextTraffic ատրիբուտը, որը թույլ էր տալիս հավելվածներին փոխանցել չգաղտնագրված երթևեկություն, ինչպիսիք են "http://" հարցումները, այլևս չի օգտագործվում: Եթե անհրաժեշտ է չգաղտնագրված երթևեկություն, ապա պետք է օգտագործվեն առանձին անվտանգության կարգավորման ֆայլեր:
- Ավելացվել են VoIP զանգերի պատմության կառավարման կարգավորումներ, որոնք թույլ են տալիս կառավարել, թե արդյոք տեղեկատվությունը պահպանվում է գրանցամատյաններում և արդյոք ավարտված զանգերի մասին տեղեկատվությունը ցուցադրվում է ինտերֆեյսում։
- Wi-Fi RTT (Round-Trip-Time) API-ը ընդլայնվել է՝ մուտքի կետերի հետ անընդհատ մոտիկության գնահատում և հանգույցների անվտանգ peer-to-peer հայտնաբերում ապահովելու համար։
- CompanionDeviceManager-ում ավելացվել են նոր պրոֆիլներ՝ թույլտվություններ խնդրելու և բժշկական սարքերի ու ֆիթնես թրեքերների հետ հավելվածների փոխազդեցությունը միացնելու համար։
- В Android Runtime (ART) реализован поколенческий сборщик мусора (Generational Concurrent Mark-Compact Garbage Collector), использующий раздельную обработку «старых» и «молодых» объектов, что повышает эффективность очистки недавно созданных объектов с небольшим временем жизни. Применение поколенческого сборщика мусора уменьшает риск приостановок во время выделения ресурсов и снижает нагрузку на CPU, что повышает эффективность потребления энергии.
- Реализовано ограничение на максимальный объём оперативной памяти, которое может занимать приложение. При превышении лимита, вычисляемого на основе имеющегося в устройстве ОЗУ, приложение принудительно завершается. Для сокращения размера потребляемой памяти предложен 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 и более новых выпусков, запрещено изменять значения полей, помеченных как «static final», что позволяет задействовать более агрессивные оптимизации производительности в runtime.
- Հիշողության սպառումը նվազեցնելու համար սահմանափակվել է ծանուցումների դիտման հատուկ դասավորությունների չափը։
- ProfilingManager պրոֆայլերին ավելացվել են լրացուցիչ TRIGGER_TYPE_COLD_START, TRIGGER_TYPE_OOM և TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE ակտիվացուցիչներ՝ կատարողականության խնդիրների վրիպազերծման համար օգտակար տվյալներ հավաքելու համար։
Source: opennet.ru












