Android 11: различия между версиями

[непроверенная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
Куча нечитаемого автоматического перевода из блога Android. Отклонены последние 10 изменений (Vadimrysin и 89.113.127.222)
Метка: ручная отмена
Строка 9:
| дата первого релиза = [[19 февраля]] [[2020 год]]а
| частота обновления =
| последняя тестовая версия = Beta 32.5 (RPB3RPB2.200706200611.014012)
| дата выпуска последней тестовой версии = 622 августаиюля 2020
| поддерживаемые платформы = [[32 бита|32-битные]] и [[64 бита|64-битные]]: [[ARM (архитектура)|ARM]], [[MIPS (архитектура)|MIPS]], [[x86]]
| метод обновления = [[Обновление по воздуху|OTA]]
Строка 45:
** Декодирование видео с низкой задержкой в MediaCodec: минимальные задержки при декодировании видео, актуально для [[Stadia|Google Stadia]].
** Режим [[HDMI]] с низкой задержкой — новые API для запроса автоматического режима с низкой задержкой известного также как «игровой режим» на внешних дисплеях и телевизорах.
==Разработка==
===Android 11 Beta 1===
Упрощение совместимости приложений в Android 11
 
С каждым выпуском мы работаем над тем, чтобы сократить объем работы, которую вам нужно будет выполнить, чтобы подготовить свои приложения. В Android 11 мы добавили новые процессы, инструменты разработчика и этапы выпуска, чтобы минимизировать влияние обновлений платформы и облегчить совместимость приложений.
* Минимизация влияния изменений поведения - мы прилагаем сознательные усилия, чтобы минимизировать изменения платформы, которые могут повлиять на приложения, делая их включенными, где это возможно, до тех пор, пока вы не установите targetSdkVersion на Android 11 в своем приложении. Если вы распространяете их через Google Play, у вас будет больше года, чтобы принять участие в этих изменениях.
•Более простое тестирование и отладка - чтобы помочь вам проверить совместимость, мы сделали многие из критических изменений переключаемыми - это означает, что вы можете принудительно включить или отключить изменения индивидуально из параметров разработчика или adb. С этим изменением больше нет необходимости изменять targetSdkVersion или перекомпилировать ваше приложение для базового тестирования. Мы также упростили использование Android Studio для запуска автоматических тестов.
* Ограничения на интерфейсы, не связанные с SDK-в рамках наших постоянных усилий по постепенному удалению разработчиков от API, не связанных с SDK, мы обновили списки ограниченных интерфейсов, не связанных с SDK, и, как всегда, ваши отзывы и запросы на публичные эквиваленты API приветствуются.
* Динамический загрузчик ресурсов-в рамках своего перехода от интерфейсов, не связанных с SDK, разработчики попросили нас предоставить публичный API для динамической загрузки ресурсов и активов во время выполнения. Теперь мы добавили фреймворк загрузчика ресурсов в Android 11,и спасибо разработчикам, которые дали нам этот ввод!
 
Вы услышите больше об этих темах в течение недели. Чтобы начать работу, читайте дальше, чтобы узнать больше о том, как мы упрощаем тестирование и отладку вашего приложения в Android 11.
 
Тестирование на Android 11
 
Тестирование вашего приложения для нового выпуска Android может быть сложной задачей, особенно если ваше приложение может быть затронуто несколькими изменениями платформы. Может возникнуть много вопросов:
•Как вы определяете, какие области вашего приложения могут быть затронуты?
* Следует ли вам протестировать, изменив targetSDKVersion, и каков самый простой способ сделать это?
•Как только вы начнете тестирование, как вы изолируете проблемы, которые вызывают проблемы?
•Как вы разрабатываете и тестируете последнюю версию Android, чтобы убедиться, что ваше приложение продолжает обеспечивать бесперебойную работу на других устройствах с различными форм-факторами и более низкими уровнями API?
 
Мы получили много замечательных отзывов от нашего сообщества разработчиков по этим и другим вопросам. В Android 11 мы добавили новые инструменты на платформу и новые функции в Android Studio, которые могут немного облегчить вам процесс тестирования.
 
Новые инструменты для тестирования изменений платформы
 
Как и предыдущие версии, Android 11 включает в себя некоторые изменения в платформе Android, которые могут повлиять на ваши приложения. Хотя эти изменения имеют решающее значение для улучшения платформы, мы стараемся свести к минимуму немедленные изменения в ваших приложениях, поместив как можно больше изменений за последнюю версию targetSDKVersion платформы. В Android 11 мы также добавили многие из этих изменений платформы в новую платформу совместимости.
 
Что такое платформа совместимости?
 
Если изменение является частью платформы совместимости, вы можете получить доступ к новым инструментам разработчика, которые помогут вам протестировать и отладить приложение в соответствии с этим изменением.
 
Например, изменения, которые являются частью платформы совместимости, можно переключать, поэтому вы можете принудительно включать или отключать изменения по отдельности либо из параметров разработчика устройства, либо с помощью ADB (Android Debug Bridge). Платформа Android автоматически адаптирует свою внутреннюю логику API, поэтому вам не нужно менять targetSDKVersion или перекомпилировать приложение для выполнения базового тестирования. Кроме того, вы можете изолировать отдельные изменения друг от друга, чтобы сократить время, необходимое для обнаружения и отладки проблем в вашем приложении.
 
Выбирая изменить, чтобы протестировать против
 
Прежде чем вы начнете включать или выключать изменения, вы должны прочитать списки изменений поведения, чтобы определить, какие изменения могут повлиять на ваше приложение. Изменения, являющиеся частью платформы совместимости, имеют соответствующий идентификатор изменения и имя изменения, перечисленные перед описанием изменения.
 
Как правило, мы рекомендуем начинать тестирование с изменений поведения, которые затрагивают все приложения, поскольку эти изменения потенциально могут повлиять на ваше приложение независимо от targetSDKVersion. Однако давайте посмотрим на изменение, которое стробируется targetSDKVersion, чтобы вы могли увидеть, как протестировать эти изменения без перекомпиляции вашего приложения с другим целевым SDK.
 
Взгляните на изменение доступа к фоновому местоположению. Это изменение влияет на приложения, которые запрашивают постоянный доступ к фоновому местоположению. Если это изменение повлияет на ваше приложение, оно может стать отличным кандидатом для начала тестирования. Имя изменения-BACKGROUND_RATIONALE_CHANGE_ID, а идентификатор-147316723. Вы будете использовать эту информацию, чтобы включить это изменение, прежде чем протестировать свое приложение против него.
 
Изолируйте изменение
 
После принятия решения о том, какое изменение вы хотите протестировать, вы можете включить или выключить это изменение с помощью параметров разработчика. Чтобы перейти к параметрам разработчика, откройте приложение настроек вашего устройства и перейдите в раздел Система > Дополнительно > Параметры разработчика > изменения совместимости приложений.
 
Переключаемые изменения платформы в параметрах разработчика с включенным фоновым изменением доступа к местоположению
 
Переключаемые изменения платформы в параметрах разработчика с включенным фоновым изменением доступа к местоположению
 
В этом случае BACKGROUND_RATIONALE_CHANGE_ID - это единственное изменение, которое позволяет свести к минимуму область возможных причин любых проблем, с которыми может столкнуться ваше приложение.
 
Вы также можете использовать logcat или ADB, чтобы определить, какие изменения включены, и использовать ADB для включения или выключения изменений. Обратите внимание, что переключать изменения можно только при использовании отлаживаемого приложения.
 
Тестирование и отладка вашего приложения
 
После включения изменения вы можете протестировать и отладить приложение, используя типичные рабочие процессы тестирования. Если вы столкнулись с проблемами, Проверьте свои журналы, чтобы помочь определить причину проблемы. Если неясно, вызвана ли проблема включенным изменением платформы, попробуйте отключить это изменение, а затем повторно протестировать эту область вашего приложения.
===Android 11 Beta 2===
 
Стабильность Платформы
 
Бета-версия 2 приносит Android 11 к стабильности платформы, новой вехе выпуска, которую мы добавили в этом году только для разработчиков, основываясь на ваших отзывах.
 
Стабильность платформы означает, что все обращенные к приложению поверхности и поведение теперь являются окончательными в Android 11. Это включает в себя не только конечные API SDK и NDK, но и конечное поведение системы и ограничения на интерфейсы, не связанные с SDK, которые могут повлиять на приложения. Таким образом, начиная с бета-версии 2, Вы можете выпускать обновления совместимости с уверенностью, что платформа не изменится. Подробнее о временной шкале читайте здесь.
График стабильности платформы
Теперь, когда платформа стабильна, мы рекомендуем всем разработчикам приложений и игр начать окончательное тестирование совместимости и опубликовать свои обновления до окончательного выпуска.
 
Для всех разработчиков SDK, библиотек, инструментов и игровых движков еще более важно начать тестирование прямо сейчас и выпустить совместимые обновления как можно скорее-ваши нижестоящие разработчики приложений и игр могут быть заблокированы до тех пор, пока они не получат ваши обновления. Когда вы выпустили совместимое обновление, будьте красноречивы и дайте знать разработчикам!
 
 
 
Почему важна совместимость приложений
 
Для Android термин совместимость приложений означает, что ваше приложение работает должным образом на определенной версии платформы, как правило, последней версии. Вы можете проверить это прямо сейчас, установив свое производственное приложение на устройство или эмулятор под управлением Android 11. Просто протестируйте все пользовательские потоки и функции, и если приложение выглядит и работает правильно, то все готово, оно совместимо!
 
Это звучит просто, но иногда это еще не все. С каждым выпуском мы вносим интегральные изменения, которые улучшают конфиденциальность и безопасность, а также внедряем изменения, которые развивают общий пользовательский опыт во всей операционной системе. Иногда они могут повлиять на ваши приложения, поэтому важно взглянуть на изменения в поведении и протестировать их, а затем опубликовать совместимое обновление для пользователей. Это базовый, но критический уровень качества.
 
Совместимость приложений вступает в игру по мере обновления пользователей до последней версии Android, независимо от того, приобрели ли они новое устройство или установили обновление на свое текущее устройство. Они взволнованы, чтобы исследовать последнюю версию Android, и они хотят испытать его со своими любимыми приложениями. Если приложения не работают должным образом, это серьезная проблема - для пользователей и для всех нас.
 
Поэтому, Хотя существует масса новых API и возможностей для изучения, а также дополнительные изменения, которые необходимо учитывать, когда вы будете готовы изменить таргетинг вашего приложения, начните с тестирования текущего приложения и выпуска совместимого обновления.
 
Обновления для Pixel и других устройств будут запущены, как только Android 11 достигнет окончательного выпуска для Android Open Source Project (AOSP), который мы ожидаем позже в третьем квартале. Несколько партнерских устройств также находятся в активном публичном предварительном просмотре сейчас, чтобы поддержать ваше тестирование совместимости.
 
Упрощение совместимости приложений в Android 11
 
С каждым выпуском мы работаем над тем, чтобы сократить объем работы, которую вам нужно будет выполнить, чтобы подготовить свои приложения. В Android 11 мы добавили новые процессы, инструменты разработчика и этапы выпуска, чтобы минимизировать влияние обновлений платформы и облегчить совместимость приложений.
* Минимизация влияния изменений поведения - мы прилагаем сознательные усилия, чтобы минимизировать изменения платформы, которые могут повлиять на приложения, делая их включенными, где это возможно, до тех пор, пока вы не установите targetSdkVersion на Android 11 в своем приложении. Если вы распространяете их через Google Play, у вас будет больше года, чтобы принять участие в этих изменениях.
•Более простое тестирование и отладка - чтобы помочь вам проверить совместимость, мы сделали многие из критических изменений переключаемыми - это означает, что вы можете принудительно включить или отключить изменения индивидуально из параметров разработчика или adb. С этим изменением больше нет необходимости изменять targetSdkVersion или перекомпилировать ваше приложение для базового тестирования. Подробности смотрите здесь.
Переключение совместимости приложений в настройках разработчика
 
Совместимость приложений переключается в настройках разработчика.
 
* Ограничения на интерфейсы, не связанные с SDK-в рамках наших постоянных усилий по постепенному удалению разработчиков от API, не связанных с SDK, мы обновили списки ограниченных интерфейсов, не связанных с SDK, и, как всегда, ваши отзывы и запросы на публичные эквиваленты API приветствуются.
* Динамический загрузчик ресурсов-в рамках своего перехода от интерфейсов, не связанных с SDK, разработчики попросили нас предоставить публичный API для динамической загрузки ресурсов и активов во время выполнения. Теперь мы добавили фреймворк загрузчика ресурсов в Android 11,и спасибо разработчикам, которые дали нам этот ввод!
* Этап стабильности платформы-как уже упоминалось, это новый этап, который мы добавили в наш процесс выпуска, чтобы дать разработчикам четкую дату для окончательных изменений. Он включает в себя не только конечные API SDK/NDK, но и конечные внутренние API и поведение системы, которые могут повлиять на приложения.
 
 
 
Подготовьте свои приложения для Android 11!
 
Теперь, когда Android 11 стабилен, сделайте ваши приложения совместимыми как можно скорее. Вот как это сделать.
Блок-схема совместимости Android 11
Для тестирования текущего приложения начните с изменений поведения всех приложений, чтобы увидеть, где это может быть затронуто. Вот основные изменения (они применяются независимо от targetSdkVersion вашего приложения):
* Одноразовое разрешение-теперь пользователи могут предоставлять одноразовое разрешение на доступ к местоположению, микрофону устройства и камере. Подробности здесь.
* Доступ к внешнему хранилищу-приложения больше не могут получать доступ к файлам других приложений во внешнем хранилище. Подробности здесь.
* Scudo hardened allocator-теперь распределитель кучи памяти для нативного кода в приложениях. Подробности здесь.
* Средство очистки файловых дескрипторов-теперь включено по умолчанию для обнаружения проблем обработки файловых дескрипторов для собственного кода в приложениях. Подробности здесь.
 
Не забудьте проверить библиотеки и SDK в вашем приложении на совместимость. Если вы обнаружите проблему, попробуйте обновить ее до последней версии SDK или обратитесь за помощью к разработчику.
 
Позже, после публикации совместимой версии текущего приложения, вы можете начать процесс обновления targetSdkVersion вашего приложения. Просмотрите изменения поведения для приложений Android 11 и попробуйте платформу совместимости, чтобы помочь найти последствия. Вот некоторые из главных изменений для тестирования (они применяются только к targetSdkVersion 30+):
* Область хранения-новые ограничения хранения, поведение и API для приложений, считывающих и записывающих файлы. Подробности здесь.
* Фоновое расположение-изменения в том, как приложения запрашивают фоновое расположение и как пользователи его предоставляют. Подробности здесь.
* Видимость пакета-изменения в том, как приложения могут запрашивать и взаимодействовать с другими установленными приложениями. Подробности здесь.
* Сжатые файлы ресурсов-приложения не могут быть установлены или обновлены, если они содержат сжатые ресурсы.файл arsc, или если файл не выровнен по 4-байтовой границе. Подробности здесь.
•APK Signature Scheme v2-теперь приложения должны быть подписаны с помощью APK Signature Scheme v2 или выше. Подробности здесь.
* Пометка указателя кучи - для 64-разрядных процессов собственные выделения кучи имеют тег, установленный в верхнем байте указателя, который не должен быть изменен приложениями. Подробности здесь.
 
Во время тестирования следите за использованием ограниченных интерфейсов, отличных от SDK, в вашем приложении и перемещайте их в общедоступные эквиваленты SDK. Вы можете прочитать об ограниченных API-интерфейсах здесь.
 
Изучите новые функции и API-интерфейсы
 
Как только вы будете готовы, погрузитесь в Android 11 и узнайте о новых впечатлениях, которые вы можете создать. В нашем бета-посте #Android11 есть краткое описание новых функций для разработчиков, и вы также можете посетить страницу запуска бета-версии, чтобы увидеть переговоры от команды Android о том, что нового в их областях.
 
Android Studio также имеет новые функции для Android 11, чтобы улучшить вашу производительность и рабочий процесс, такие как ADB incremental для более быстрой установки больших APK-файлов и дополнительные аннотации обнуления на API платформы. Вы можете попробовать их, загрузив последнюю версию Android Studio Beta или Canary. Инструкции по настройке Android Studio для Android 11 находятся здесь.
 
Для получения полной информации о функциях и API-интерфейсах Android 11 посетите сайт разработчика Android 11.
 
Как мне получить бета-версию 2?
 
Это же просто! Вы можете зарегистрироваться здесь, чтобы получить бета-обновления Android 11 по воздуху для устройств Pixel 2, 3, 3a и 4. Кроме того, дайте Android Flash Tool попробовать для легкого обновления по требованию, и загружаемые системные образы также доступны. Если у вас нет пиксельного устройства, вы можете использовать эмулятор Android в Android Studio или попробовать образ GSI для запуска Android 11 на поддерживаемых устройствах, совместимых с высокими частотами.
 
Как всегда, ваши отзывы очень важны, поэтому, пожалуйста, дайте нам знать, что вы думаете. Вы можете использовать наши горячие списки для регистрации проблем платформы (включая изменения конфиденциальности и поведения), проблем совместимости приложений и проблем сторонних SDK. До сих пор вы делились с нами замечательными отзывами-спасибо! [https://android-developers.googleblog.com/2020/07/android-11-beta-2-and-platform-stability.html Статья]
 
===Android 11 Beta 3===
Android 11 Beta 3 находится в прямом эфире!
''Бета-версия 3 - это наше последнее обновление в цикле предварительного просмотра этого года. Сейчас самое время убедиться, что ваши приложения готовы, прежде чем мы представим официальный релиз потребителям. Мы рекомендуем завершить тестирование и отправить совместимые обновления как можно скорее.''
отправленое сообщение на почту.
[https://android-developers.googleblog.com/2020/08/android-11-final-beta-update.html Статья]
 
 
'''Что там в бета-версии 3?'''
 
Сегодняшнее обновление включает в себя релиз-кандидатскую сборку Android 11 для устройств Pixel и эмулятор Android. Мы достигли стабильности платформы в бета-версии 2, поэтому все обращенные к приложениям поверхности и поведение являются окончательными, включая API SDK и NDK, обращенные к приложениям системные поведения и ограничения на интерфейсы, не связанные с SDK. С этими и последними исправлениями и оптимизациями бета-версия 3 дает вам все необходимое для завершения тестирования.
 
Поскольку мы доводим Android 11 до окончательной формы, мы также используем эту возможность для обновления Android с учетом системы уведомлений об экспозиции. Начиная с бета-версии 3, пользователи смогут запускать приложения для уведомлений об экспозиции на Android 11 без необходимости включать настройку местоположения устройства. Это исключение мы делаем только для системы оповещения об экспозиции, учитывая, что она была разработана таким образом, что приложения, использующие ее, не могут определить местоположение устройства с помощью сканирования Bluetooth. Чтобы защитить конфиденциальность пользователей, всем другим приложениям по-прежнему будет запрещено выполнять сканирование по Bluetooth, если не включена настройка местоположения устройства и пользователь не предоставил им разрешение на местоположение. Вы можете прочитать больше в нашем обновленном посте об уведомлениях об экспозиции.
 
Подготовьте свои приложения для Android 11!
 
С официальным выпуском Android 11 на подходе, мы просим всех разработчиков приложений и игр для Android закончить тестирование совместимости и опубликовать свои обновления в ближайшее время. Для разработчиков SDK, библиотек, инструментов и игровых движков еще более важно сразу же выпустить совместимую версию, поскольку ваши нижестоящие разработчики приложений и игр могут быть заблокированы до тех пор, пока они не получат ваши обновления.
 
как
 
Как мы подробно рассмотрели в бета-версии 2, Вот как проверить совместимость с Android 11.
 
Для тестирования текущего приложения ознакомьтесь с изменениями поведения всех приложений, чтобы определить области, в которых изменения платформы могут повлиять на ваши приложения. Вот некоторые из главных изменений, за которыми нужно следить (они применяются независимо от targetSdkVersion вашего приложения):
* Одноразовое разрешение-теперь пользователи могут предоставлять одноразовое разрешение на доступ к местоположению, микрофону устройства и камере. Подробности здесь.
* Доступ к внешнему хранилищу-приложения больше не могут получать доступ к файлам других приложений во внешнем хранилище. Подробности здесь.
* Scudo hardened allocator-Scudo теперь является распределителем памяти кучи для собственного кода в приложениях. Подробности здесь.
* Средство очистки файловых дескрипторов-Fdsan теперь включен по умолчанию для обнаружения проблем обработки файловых дескрипторов для собственного кода в приложениях. Подробности здесь.
 
Не забудьте проверить библиотеки и SDK в вашем приложении на совместимость. Если вы обнаружите проблему, попробуйте обновить ее до последней версии SDK или обратитесь за помощью к разработчику.
 
Для получения дополнительной информации о тестировании совместимости и инструментах ознакомьтесь с ресурсами, которыми мы поделились для недели совместимости Android 11, и посетите сайт разработчика Android 11 для получения технических подробностей.
 
Изучите новые функции и API-интерфейсы
 
Android 11 имеет массу новых функций для создания новых впечатлений для пользователей вокруг людей, элементов управления и конфиденциальности. Когда вы будете готовы погрузиться в работу, ознакомьтесь с нашим бета-постом #Android11 для краткого обзора всех функций разработчика, а также посетите страницу запуска бета-версии, чтобы увидеть переговоры команды Android о том, что нового в их областях. Для получения полной информации о функциях и API-интерфейсах Android 11 посетите сайт разработчика Android 11.
 
Кроме того, обязательно попробуйте функции Android 11 В Android Studio, которые могут улучшить вашу производительность и рабочий процесс, такие как ADB incremental для более быстрой установки больших APK-файлов и дополнительные аннотации обнуления на API-интерфейсах платформы. Вы можете попробовать их, загрузив последнюю версию Android Studio Beta или Canary. Инструкции по настройке Android Studio для Android 11 находятся здесь.
 
== См. также ==