Опубликованы исходные тексты платформы Android 6.0
Компания Google анонсировала выпуск мобильной платформы Android 6.0 ("Marshmallow") и публикацию связанных с ней исходных текстов. В настоящее время код уже доступен для загрузки через публичный Git-репозиторий проекта (созданы ветки MRA58K и android-6.0.0_r1). В опубликованном коде заявлена поддержка устройств Nexus 5, Nexus 6, Nexus 7, Nexus 9 и Nexus Player (Android TV).
Одновременно подготовлены готовые прошивки для устройств Nexus и опубликованы бинарных компоненты, используемые в прошивках для смартфонов Nexus. Указанные компоненты в сочетании с открытым кодом позволят осуществить сборку собственных прошивок, аналогичных по возможностям штатным прошивкам. В ближайшее время будет произведена синхронизация внутренней ветки Android, разрабатываемой в недрах Google, c общедоступной актуальной master-веткой, на базе которой формируются независимые сборки платформы.
Из реализованных в Android 6.0 нововведений можно отметить:
- Средства для управления доступом работающих приложений к различным системным ресурсам. Изначально в платформе Android была реализована модель предоставления привилегий, при которой пользователь подтверждал доступ к расширенным возможностям во время установки приложения. Подобный метод оказался неэффективным в силу того, что многие пользователи подтверждали запрос на полномочия, не вникая в его суть, а разработчики приложений стали запрашивать всё больше полномочий (например, для хранителя экрана запрашивался доступ к сетевым функциям для показа рекламы).
Новая система доступа позволяет уже запущенному приложению на лету запросить доступ к системным ресурсам, при возникновении необходимости в этих ресурсах. Пользователь может принять или отклонить запрос, а также сохранить своё решение для будущих аналогичных запросов от данного приложения. Таким образом пользователь явно видит, какие расширенные возможности запрашиваются и в каких ситуациях.
Новая система также предоставляет своеобразный межсетевой экран для приложений, позволяющий контролировать права доступа программ из интерфейса настройки. При этом управлять доступом к расширенным возможностям можно для всех приложений, в том числе и тех, что не используют новый API запроса полномочий. Для упрощения запроса полномочий типовые права доступа могут определяться с использованием групп (например, группа CONTACTS объединяет права на чтение и запись в адресную книгу и профиль пользователя).
На стадии установки и обновления запрос полномочий становится не обязателен, что позволяет реализовать такие возможности, как автообновление. Приложению предоставляются права, определённые в манифесте, но при условии, что программа заверена проверенной цифровой подписью разработчика. Пользователь может проконтролировать запрошенные права после установки и, при необходимости, ограничить доступ к каким-то ресурсам. Разработчики приложений должны предусмотреть возможность отключения пользователем отдельных полномочий и, в зависимости от выбора пользователя, ограничить функциональность программы.
- Новый режим энергосбережения Doze, при котором после определённого периода неактивности пользователя устройство переводится в спящий режим, но с периодическим пробуждением на короткое время для того, чтобы дать приложениям возможность синхронизировать свои данные, а системе обработать ожидающие выполнения операции. Функциональность при временных пробуждениях в режиме Doze ограничена, например, недоступны сетевые возможности (за исключением высокоприоритетных операций), отключен вызов периодических заданий через AlarmManager, не выполняется сканирование беспроводных сетей, запрещён вызов JobScheduler.
- Перевод приложений в режим ожидания (App standby). Если приложение определённое время находится в неактивном состоянии, т.е. не выполняет сетевые запросы, не взаимодействует с пользователем, не осуществляет вывод и не выполняет фоновых работ, то система может перевести такое приложение в режим ожидания, позволяющий сэкономить энергию аккумулятора.
- Технология App links, упрощающая связывание приложений. Разработчик может определить в манифесте атрибут autoVerify, позволяющий ассоциировать приложение со своим web-контентом и автоматически использовать данное приложение как обработчик, без вывода дополнительных диалогов выбора приложения. Владельцы сайтов могут определить ассоциацию с приложениями через создание файла /.well-known/statements.json.
- Поддержка автоматического резервного копирования данных и настроек приложений. Резервные копии сохраняются в Google Drive и автоматически восстанавливаются, если пользователь сменил или обновил устройство.
- Режим быстрой настройки Android TV или планшета на основе настроек имеющегося смартфона, в том числе переносятся пароли к Wi-Fi и приложения;
- Возможность подключения внешних хранилищ, таких как SD-карты, по аналогии с внутренним хранилищем, применяя к ним те же методы шифрования и форматирования, как и для внутренних хранилищ. На подобные устройства можно переместить приватную информацию пользователя и данные приложений.
- Переход с OpenSSL на развиваемый компанией Google форк - BoringSSL;
- Новый API для аутентификации пользователя по отпечаткам пальцев, который можно использовать на устройствах с сенсорами отпечатков.
- Поддержка стилусов с интерфейсом Bluetooth;
- Поддержка спецификации Hotspot 2.0 Release 1;
- Возможность вывода на экраны с качеством 4K;
- Поддержка протокола MIDI для взаимодействия со звуковыми устройствами;
- Новый вызов android.media.MediaSync для синхронизации аудио и видеопотоков;
- При подключении по USB по умолчанию активируется только зарядка аккумулятора, для доступа к данным требуется явное разрешение в настройках;
- Запрет программного доступа к идентификаторам оборудования, например, при запросе MAC-адреса через API Wi-Fi и Bluetooth теперь всегда выдаётся фиктивный адрес 02:00:00:00:00:00;
- Ужесточена проверка целостности APK-пакетов, которые теперь признаются повреждёнными если файл определён в манифестве, но отсутствует в архиве;
- Представлен Now on tap, вариант сервиса Google Now, предлагающий информацию на основе контекста передаваемых пользователем сообщений. Например, пользователю написали приглашение посмотреть фильм и он может не покидая приложения попросить помощи у Google Now, который предложит более подробную информацию об упомянутом фильме и покажет, где можно его посмотреть.
- Android Pay - система платежей, симулирующая платёжную карту через NFC (Near Field Communications) и позволяющая оплачивать смартфоном покупки в магазинах или совершать online-платежи в приложениях;
- Новая библиотека с графическими элементами, реализующими новую концепцию дизайна платформы Android. Библиотека предлагает готовые ключевые элементы оформления, такие как плавающие кнопки, панели и области навигации, которые совместимы с API 7 и могут использоваться для придания существующим приложениям современного вида.
- Выпуск среды разработки Android Studio 1.4, в который интегрирована поддержка новых возможностей Android 6 и представлены средства для использования в приложениях векторных изображений, коллекция шаблонов типовых приложений, инструменты мониторинга скорости отрисовки на GPU, средства для отслеживания сетевой активности и редактор тем оформления.
- Устранена большая порция уязвимостей. 20 проблем, присутствующих в компонентах libstagefright, Sonivox, libutils, libFLAC и Skia, отмечены как критические уязвимости, способные привести к запуску кода злоумышленника.
© OpenNet