Android Broadcast – Telegram
Android Broadcast
14.4K subscribers
3.68K photos
367 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

Реклама и связь с автором @ab_manager

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
#Security #GooglePlay

Seeing If Your App Has the Play Core Vulnerability

Найдена уязвимость в библиотеке Google Play Core, которая позволяет выполнять код удаленно. Уязвимость содержится во всех версиях библиотеки с 1.3.6 до 1.7.1. Бегите обновляться до любой версии, начиная с 1.7.2.

Чтобы проверить, использует ли ваше приложение эту библиотеку выполните в терминале команду
./gradlew <МОДУЛЬ ПРИЛОЖЕНИЯ>:dependencies | fgrep "com.google.android.play:core"

Возможно библиотека не подключена у вас явным образом, но может подключаться транзитивно из других библиотек
#Emulator

Android Emulator Apple Silicon Preview

Для всех кто прикупил новые MacBook c M1 и хочет их использовать как основную машину для разработки хорошая новость - в команде Android уже работают над версией эмулятора ARM64, которую можно будет запускать на Apple Silicon.

Пока все находится в разработке и не работает множество функций в системе, таких как WebView, звук, Vulkan и др. Для приложений где этот функционал отсутсвует или некритичен вы можете попробовать обкатать этот эмулятор
#Kotlin #IDEA

Kotlin Plugin Released With IDEA 2020.3

Разработка Kotlin плагина переехала в репозиторий IDEA и стала его частью, чтобы упростить интеграцию последних фичей платформы. Теперь мажорные релизы Kotlin плагина будут выходить вместе с IDE от JetBrains.

В последнем релизе 2020.3 добавили такие функции:
👉 Inline рефакторинг в разных языках
👉 Поддержка структурного поиска и замены для Kotlin, позволяющие искать код по шаблону
👉 Поддержка настроек форматирования кода для Kotlin плагина в .editorconfig
👉 Новые шаблоны для Jetpack Compose for Desktop и KMP

Хотите получать больше новостей о Kotlin и Kotlin Mobile Multiplatform? Подписывайтесь на Telegram канал @kotlin_broadcast
#AnroidBroadcast #Notification #Firebase

Советы по уведомлениям в Android (25 мин)

Рассказываю про уведомления в Android: почему вам стоит уделить время их интеграции, какие сложности скрывает API уведомлений в Android и что может сделать FCM. Помимо прочего представляю свою библиотеку Android Notification DSL

Ставьте лайки этому видео на YouTube, оставляйте комментарии с вашими пожеланиями по новым темам. Ну и конечно же подписывайтесь на канал Android Broadcast!
#Jetpack #AppStartup

App Startup, Part 1

Chet Haase делает введение в AppStartup, рассказывая про суть инициализации, используя под капотом ContentProvider, который автоматом создается при запуске приложения, если объявить его в манифесте.

Цель App Startup - сократить увеличенное время запуска приложения, которые появляется из-за множества таких ContentProvider в приложениях.

Подробнее об App Startup читайте здесь
#AndroidStudio #DeepLink

Делюсь небольшим, но полезным плагином: Deeplink Helper для Android Studio

История создания плагина DeeplinkHelperPlugin для Android Studio, задача которого упростить открытие deep link. Вместо листания истории терминала у вас есть UI из IDE.
#Collection

All you need to know about ArrayMap & SparseArray

Android SDK содержит свои собственные коллекции, которые призваны оптимизировать использование стандартных коллекций в специфичных для Android задачах.

В статье автор рассказывает о особенностях реализации ArrayMap и SparseArray и как они позволяют оптимизировать расход оперативной памяти и скорость.
#Performance

How we achieved a 6x reduction of ANRs - Part 1: Collecting Data

Разработчики Badoo делают громкое заявление в названии статьи. В начале года запустили борьбу с ANR в приложении

В первой части серии статей вы найдете:
👉 Что такое ANR и как они возникают
👉 Как отслеживать ANR и как это делает Google Play
👉 Загрузка данных из Google Play Console (официального API нет, но ребята сделали решение)
👉 Как в трекать ANR самостоятельно

Рекомендую обратить внимание на библиотеку ANR-WatchDog для отслеживания ANR
#Jetpack #AndroidStudio

What’s your MAD score?

Google выпустила плагин для Android Studio, чтобы оценить насколько активно вы используете технологии современной Android разработки

Вы сможете создать карточку с оценкой вашего проекта и поделиться ею с друзьями. Инструкция здесь
#Compose

Jetpack Compose — Before and after

Все мы ждем релиза Jetpack Compose, чтобы насладиться декларативным UI по полной. Приложение Tivi уже мигрировало на Jetpack Compose. По итогу:
👉 Уменьшения размера приложения на 41%
👉 Уменьшение количества методов на 17%
👉 Количества кода в XML уменьшилось на 76%
👉 Время сборки проекта осталось примерно таким же

Надо учесть что все замеры проводились на альфа-версии Compose и к релизу цифры могут поменяться.
This media is not supported in your browser
VIEW IN TELEGRAM
Сравнение приложения до Compose и после
#Android11

Treble Plus One Equals Four

Усилия Google по упрощению выпуска обновлений для устройства начинают окупаться. Android 11 стал само быстро распространяемой версией Android, а все новые SoC Qualcomm будут получать обновления для 4 версий ОС и 4 года обновлений безопасности.

В статье вы найдете подробности того, что сделали для ускорения обновления в рамках Project Treble
#Jetpack #AppStartup

App Startup, Part 2

Продолжение серии статей про новую библиотеку App Startup. В новой части рассказывается про то как мигрировать инициализацию WorkManager на App Startup, а также как отложить инициализацию (lazy). Все это подкрепляется оценкой производительности разных подходов.
#Kotlin #Jetpack #MAD

Using KTX libraries

Kotlin - основной язык для разработки под Android, но всё Android SDK написано на Java. Чтобы сделать удобной опыт использования Kotlin в Android максимальным разработчики из Google сделали 2 вещи:
👉 Добавляют аннотации о nullability в Java код
👉 Новые библиотеки Jetpack стараются писать на Kotlin
👉 Для существующих библиотек пишутся Kotlin расширения - KTX

В статье вы найдете больше информации о KTX расширениях, которые помогут вам сократить количество Kotlin кода в Android проекте.
#Security #Jetpack

Обновление документации "Permissions"

Документация по Permissions была обновлена на официальном сайте Android Developers. Теперь она содержит подробные описания:
👉 как правильно запрашивать разрешения в Runtime
👉 как работать если пользователь отказал в получении разрешения
👉 какие подходы использовать, чтобы объяснить, зачем вашему приложению вообще нужно какое-то разрешение
👉 Новый способ получения разрешение через новое ActivityResult API из androidx.activity 1.2.0
👉Разрешения для приложений по умолчанию (звонилка, браузер, лаунчер и др.)
👉Объявление собственных разрешений
👉Лучшие практики по работе с разрешениями
#Testing

Быстрый старт: гайд по автоматизированному тестированию для Android-разработчика. JVM

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

В статье (она немаленькая) раскладывается все по полочкам: базисы и особенности тестирование под Android. Вы сможете понять основные понятия и как тесты реализуются при разработки в Android
👍1
#Security #ProGuard #R8

Оптимизация сборок Android приложений: ProGuard, D8, R8. Тайны обфускации

Оптимизация и обфускация кода, который уходит в Production, - очень важный этап поставки клиентских приложений. Это уменьшает размер приложения, ускоряет его работы и обеспечивает дополнительную безопасность.

Статья охватывает все важные аспекты оптимизации сборки:
👉 Зачем использовать эти инструменты
👉 Как работает ProGuard/R8
👉 Оптимизация ресурсов Android приложения
👉 D8/R8

Статья очень толковая, подробно разбирает все аспекты. Рекомендую к прочтению. Автору респект!
#Gradle

Gradle Doctor - это плагин, который анализирует конфигурацию Gradle и определят ошибки в конфигурации, тормозящие скорость сборки
#Kotlin

Kotlin Delegation by Inception

Разбор делегатов из Kotlin на примерах упрощения различных задач Android разработки:
👉 Получение значение из Bundle
👉 Работа с Intent
👉 Работа с View
#Performance

Разрушаем мифы о производительности Android

Популярность всегда преследуется мифами. Так случилось и с Android. Разработчики, которые давно в этой ОС помнят о старых оптимизациях на уровне Java кода из первых версий Android. В статье разрушают современные мифы:
👉 Приложения на Kotlin больше и медленнее, чем приложения на Java
👉 Геттеры и сеттеры обходятся дорого
👉 Лямбда-выражения медленнее, чем внутренние классы
👉 Аллоцирование объектов — дорогое удовольствие, лучше использовать пулы
👉 Профилирование моего отлаживаемого приложения — это хорошая идея
а также другие странности