company_banner

Android 11 Beta и обновления для разработчиков


    Привет, Хабр!


    10 июня вышла бета-версия Android 11! В этой статье мы хотели бы коротко рассказать о главных новинках в Android 11 Beta, Google Play и инструментах для разработчиков. А также хотели бы пригласить всех читателей на специальное онлайн мероприятие, посвященное выходу Android 11 Beta, которое состоится сегодня, 17 июня в 19:00 по Московскому времени. Специальный гость мероприятия, известный каждому Android разработчику – Чет Хас! Присоединяйтесь и читайте подробности под катом.


    Бета-версия Android 11 уже доступна


    Благодаря обратной связи, которую мы получили от сообщества разработчиков на Android 11 Developer Preview, мы смогли подготовить бета-версию Android 11, которая фокусирается на 3 ключевых вещах: люди, элементы управления и приватность.


    Люди: мы всегда стараемся сделать Android более ориентированным на людей и для людей. Мы хотим, чтобы Android был выразительным и поэтому мы решили переосмыслить то, как мы используем наши телефоны для общения и хотим создавать ОС, способную узнать и помочь приоритезировать самых важных для вас людей.


    • Conversation notifications или уведомления о разговорах будут появляться в специальном разделе, с улучшенным дизайном и предложениями действий, такими как открытие беседы в виде всплывающей подсказки, создание отдельного ярлыка беседы на главном экране или установка напоминания.
    • Bubbles, они же Пузыри. Надоело переключаться между мессенджерами и другими приложениями во время переписки? Пузыри помогут держать переписку в поле зрения и останутся легко доступны во время многозадачности. Для того чтобы задействовать данный функционал, мессенджеры и другие приложение поддерживающие обмен сообщениями могут использовать новый Bubbles API.
    • Consolidated keyboard suggestions или консолидированные подсказки от клавиатуры. Теперь приложения c функционалом Autofill и редакторы метода ввода (IMEs), такие как клавиатура, смогут безопасно предлагать контекстно правильные подсказки непосредственно в полосе предложений IME, где они наиболее удобны для пользователей.
    • Голосовой доступ, он же Voice Access. Для людей, которые управляют своим телефоном с помощью голоса. Android 11 теперь понимает содержимое экрана и контекст, а также генерирует метки и точки доступа для голосовых команд.

      image

    Элементы управления: последняя версия Android поможет быстро подключиться к умным устройствам и управлять ими в одном пространстве:


    • Device Controls или управление устройствами позволит быстрее и проще получать доступ к подключенным устройствам. Теперь, просто нажав и удерживая кнопку питания, пользователи смогут мгновенно получить доступ к управлению устройствами в одном месте. Разработчики смогут использовать новый API для отображения элементов управления. Подробнее здесь.
    • Media Controls или управления мультимедиа позволит быстро и удобно переключаться между устройствами вывода для аудио или видеоконтента, будь то наушники, динамики или даже телевизор. Подробнее здесь.

      image

    Приватность: в Android 11 мы даем пользователям еще больший контроль над разрешениями и работаем над тем, чтобы повысить безопасность устройств благодаря более регулярным обновлениям.


    • One-time permission или единовременные разрешения позволят пользователям предоставлять приложениям доступ к микрофону, камере или местоположению устройства только один раз. Приложению нужно будет запросить разрешение заново при следующем использовании приложения. Подробнее здесь.
    • Permissions auto-reset или автоматический сброс разрешений: если пользователь, по какой-то причине, не использовал приложение в течение длительного времени, Android 11 автоматически сбросит runtime разрешения, связанные с приложением, и уведомит об этом пользователя. Приложению нужно будет запросить разрешения снова при следующем запуске. Подробнее здесь.
    • Background location или локация в фоновом режиме. В феврале этого года мы анонсировали, что разработчикам необходимо будет получить отдельное разрешение на доступ к локации в фоновом режиме, чтобы предотвратить злоупотребление таким доступом. Мы даем разработчикам больше времени для внесения изменений и не будем применять политику для существующих приложений до 2021 года. Подробнее здесь.
    • Google Play System Updates или обновления системы Google Play. Запущенные в прошлом году, обновления системы Google Play позволяют нам ускорить доставку и обновление основных компонентов ОС на устройствах. В Android 11 мы более чем удвоили количество обновляемых модулей, и эти 12 новых модулей помогут улучшить приватность, безопасность, и консистентность для пользователей и разработчиков.

      image

    Удобство для разработчиков. Мы хотим, чтобы разработчики могли с легкостью воспользоваться преимуществами новой версии и для облегчения тестирования на совместимость мы сделали следующее:


    • Самые важные (ломающие) изменения не вступят в силу до тех пор, пока вы явно не укажете Android 11 в своем манифесте;
    • Добавили новый интерфейс в настройках для разработчиков, позволяющий включать/выключать многие из этих изменений;
    • добавили отметку Platform Stability в таймлайн, чтобы вы могли приступить к обновлению своего приложения, точно зная что платформа стабильна.

    Android 11 также включает в себя ряд других улучшений для разработчиков, таких как поддержка беспроводной отладки по ADB, ADB incremental для быстрой установки больших APK и больше nullability аннотаций в API платформы (для выявления проблем во время сборки, а не во время выполнения) и многое другое.


    Бета-версия Android 11 доступна уже сейчас, с финальными API SDK и NDK, которые можно попробовать в своих приложениях.


    Если у вас есть устройство Pixel 2, 3, 3a или 4, вы можете зарегистрироваться здесь, чтобы получать обновления Android 11 Beta по воздуху. Также можно отдельно скачать образы для смартфонов Google Pixel и эмулятора Android. Подробно узнать обо всех изменениях вы можете на специальной странице для Android разработчиков.


    Также узнать о новинках в Android 11 вы можете узнать из нашего специального мероприятия с русскоговорящими экспертами и специальным гостем – Четом Хасом, которое пройдет сегодня в 19-00 по Московскому времени.


    Современная Android разработка


    В течение последних лет команда Android усердно работала над улучшением опыта разработчиков мобильных приложений, чтобы сделать их более продуктивными. Это включает в себя улучшения Android Studio, отличный язык (Kotlin), библиотеки Jetpack для упрощения общих задач и Android App Bundles для улучшения распространения приложений. Всё это мы называем современной Android разработкой и предлагаем вниманию Android разработчиков лучшее из мира Android, чтобы сделать их ещё более эффективными и продуктивными.


    image

    Android Studio


    Новые функции в Android Studio 4.1 Beta и 4.2 Canary доступны уже сегодня. При разработке, мы ориентировались на ряд важных вопросов для разработчиков:


    • Отладка приложений стала проще с поддержкой беспроводной отладки по ADB на устройствах с Android 11. Мы также добавили инспектор баз данных и инструменты Dependency Injection (Dagger);
    • Тестирование устройств стало проще благодаря тому, что эмулятор Android теперь находится непосредственно в IDE. Разработчикам смогут видеть результаты выполнения тестов с нескольких устройств одновременно, а также мы улучшили и сам диспетчер виртуальных устройств.
    • Машинное обучение стало проще (почти). По крайней мере, теперь вы сможете импортировать свои модели для ML Kit и TensorFlow Lite прямо в Android Studio.
    • Сборка и deployment приложений стали быстрее благодаря Kotlin Symbol Processing API, кэшированию графа задач в Gradle и более быстрой установке и запуску приложений на всех устройствах с Android 11. А новый анализатор сборки может помочь вам определить, где в вашей сборке могут быть узкие места.
    • Инструменты для разработки игр стали лучше благодаря обновленному пользовательскому интерфейсу профилировщика производительности, переработанному инструменту System Trace и поддержке встроенного профилирования памяти.

    image

    Попробовать последнюю версию: Android Studio 4.1 Beta и Android Studio 4.2 Canary вы можете уже сейчас!


    Kotlin, Jetpack и новинки


    Языки и библиотеки являются одной из основных областей инвестирования для нас в современную Android разработку. Мы сосредоточены на том, чтобы сделать разработчиков более продуктивными с Kotlin и Jetpack.



    С ростом популярности Kotlin, а на данный момент, более 70% из 1000 лучших приложений в Google Play используют Kotlin, и таким большим количеством разработчиков, использующих Kotlin, мы можем использовать весь его потенциал, чтобы улучшить опыт разработки под Android новыми способами.


    Корутины Kotlin – это особенность языка Kotlin, которая упрощает написание и понимание конкурентных вызовы в коде. Теперь мы официально рекомендуем использовать корутины Kotlin и поэтому мы встроили поддержку корутин в наиболее часто используемые библиотек Jetpack — Lifecycle, WorkManager и Room.


    Сам Kotlin также продолжает улучшаться с каждым выпуском благодаря потрясающей команде JetBrains. Kotlin 1.4 обеспечивает более быстрый code completion, более мощный вывод типов, включенные по умолчанию функциональные интерфейсы, а также полезные другие улучшения, такие как смешивание именованных и позиционных аргументов.


    Мы также продолжаем развивать и продвигать Jetpack — набор библиотек предназначенных для быстрой и легкой реализации общих шаблонов разработки для мобильных устройств.


    Многие мобильные разработчики давно любят Dagger. Поэтому мы поработали с командой Dagger, чтобы представить вам Hilt – дружественную к разработчикам оболочку поверх Dagger.


    Мы также рады представить ещё одну новую библиотеку – App Startup. Она призвана помочь разработчикам приложений и библиотек оптимизировать инициализацию библиотек в приложении.


    У нас много обновлений для существующих библиотек, в том числе серьезное обновление для Paging 3. Теперь оно Kotlin-first с полной поддержкой Корутин!


    Compose


    Есть еще одна вещь, которая необходима для продуктивности – это мощный набор инструментов, позволяющий легко и быстро создавать красивые пользовательские интерфейсы на Android со встроенным доступом к API платформы. Именно поэтому мы развиваем Jetpack Compose – наш новый набор инструментов для разработки пользовательских интерфейсов, который позволяет оживить ваши приложения с помощью меньшего количества кода и интуитивно понятных API на Kotlin. Мы рады представить Jetpack Compose Developer Preview 2, наполненный новыми фичами и улучшениями, о которых нас просили разработчики:


    • Interoperability with Views
    • Animations
    • Testing
    • Constraint Layout
    • Adapter list
    • Material UI components
    • Text and editable Text
    • Theming and Graphics
    • Window management
    • Input and Gestures

    Работая в тесном сотрудничестве с командой Kotlin из JetBrains, мы добавили ряд новых возможностей в Android Studio 4.2, призванных помочь создавать приложения с помощью Compose:


    • плагин компилятора Kotlin для генерации кода
    • Compose Preview Аннотации
    • Предварительный просмотр Compose в режиме реального времени
    • Деплой отдельных composable объектов на устройство
    • Compose Code completion
    • Пример Data API для Compose

    Compose еще не готов к использованию в продакшене. В данный момент, мы заканчиваем оптимизацию производительности, и будем рады услышать вашу обратную связь. Мы планируем запустить Alpha этим летом и 1.0 в следующем году.


    Абсолютно новая консоль Google Play


    Платформа Google Play сфокусирована на том, чтобы помочь разработчикам в развитии их бизнеса. С этой миссией, мы переработали консоль Google Play, чтобы помочь вам добиться максимальных результатов от нашей платформы. Помимо того, что консоль стала проще и понятнее в использовании, мы добавили новый функционал и изменения чтобы помочь вам:


    • Найти, обнаружить и понять фичи которые помогут вам процветать в Google Play;
    • Легко найти новые руководства по изменениям политиках, статус релизов, и обратную связь от пользователей;
    • Лучше понять результативность продвижения, с новыми отчетами о новых пользователях;
    • Позволить всем членам вашей команды использовать функции Play Console с новыми опциями управления пользователями.

    Подробнее о новой консоли Google Play читайте в этом посте или присоединяйтесь к бета-версии прямо сейчас на play.google.com/console.



    Вместо заключения


    Специально для вас, в связи с выходом бета версии Android 11, сегодня, 17 июня, в 19:00 по Московскому времени, мы встречаемся с русскоязычными экспертами на специальном онлайн мероприятии, чтобы обсудить все в подробностях. Специальный гость мероприятия, известный каждому Android разработчику – Чет Хас! Присоединяйтесь, будет интересно!


    Расписание:
    19:00 — 19:20 — Знакомство с экспертами и гостем Chet Haase
    19:20 — 19:30 — Квиз с возможностью выиграть подарки с логотипом Android 11
    19:30 — 20:30 — Обсуждение новинок экспертами
    20:30 — 21:00 — Ответы на ваши вопросы (пишите в комментариях с #askandroid), авторы самых интересных обязательно получат подарки


    Наши эксперты:



    P.S.


    1. У нас есть 12 докладов, которые мы разместили на канале Android разработчиков на YouTube.
    2. Мы запускаем 11 недель Android с новым контентом для разработчиков каждую неделю! Темы, которые вы просили: UI, Jetpack, Machine Learning и многое другое. Посмотреть расписание можно здесь.
    Google Developers
    Build anything with Google

    Комментарии 8

      0

      А можно как-то соединить данные из программы цифровое благополучие по использованию времени с аналогичным решением для windows?

        0
        Вот только зачем-то в Android Studio 4.0 разломали профайлер. Сделали тормозным и бесполезным. Верните старую диаграмму CallStack! Это основной инструмент дебага и оптимизации.
          0
          Да и сам Android 10 не лучше, когда стоял 9-тый, было нормально, а как обновился до 10-того, появились проблемы с выключением звука нежелательного входящего звонка по телефону, WhatsApp.
          +1

          А как насчёт записи звонков? Её вернут или нет?

            0
            Я не понимаю что хорошего в Dagger? Он выглядит как какой-то сложный костыль, есть же либы в разы лучше, например Koin.

            «Hilt – дружественную к разработчикам оболочку поверх Dagger.» ну т.е сам Dagger не особо дружественный?
              +1

              Тут основной плюс — кодогенерация. На больших проектах, где куча классов, dagger может выиграть пару десятков или иногда сотен миллисекунд на старте приложения чисто из-за отсутствия необходимости строить все графы зависимостей в рантайме. Пример сравнения производительности тут: https://github.com/Sloy/android-dependency-injection-performance

                +1

                Изначально Dagger — это DI фреймворк для Java. В андроид он заходит с кучей бойлерплейта.
                Hilt сделал Dagger дружественнее в плане инжекта зависимостей в андроид-компоненты. Теперь достаточно одной таблэтки аннотации. Раньше это выглядело как куча модулей и фабрик.
                Koin — это только про котлин, он чуть менее функционален, и больше смахивает на Service Locator, чем на DI. Но для небольших проектов заходит отлично.

                +1
                Ребята, молодцы! С нетерпением жду следующих конференций.

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое