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

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

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
#AndroidLint #Kotlin #library

Lin - made Android Lint tool simpler

Для всех тех, кто пишет собственные правила в Android Lint, рекомендую обратить внимание на новую библиотеку, цель которой упростить вашу задачу с помощью изящного Kotlin API для объявление правил!
#Kotlin #Security #Multiplatform

Kissme: Kotlin Secure Storage Multiplatform library. The Code Story от Samuel Urbanowicz

История разработки библиотеки для защищенного хранилища на Kotlin Multiplatform с поддержкой Android и iOS, причем на каждом хранилище обеспечивается нативными платформенными механизмами.

В статье рассказывается о том что за библиотеку смогли создать и с какими проблемами столкнулись в ходе:
👉 Взаимодействие между командами
👉 Незрелый Kotlin/Native и нехватка ресурсов и документации по нему
👉 Совместимость между Kotlin и Objective-C

Kissme Github
#AndroidStudio #Update #Gradle

Вышла Android Studio 3.3

🎉🎉🎉Вышла Android Studio 3.3 и Android Gradle Plugin 3.3.0 🎉🎉🎉

Что нового в Android Studio:
👉 Navigation Editor
👉 Profile Tracking Options
👉 IntelliJ IDEA 2018.2.2
👉 Instant App и Dynamic Features: теперь в одном проекте
👉 Возможность удаления папок с данными от старых Android Studio
👉 Ускорение Android Lint
👉 Автоматическая загрузка компонентов SDK
👉 Single-variant синхронизация проекта - загружайте только тот build variant, с которым вы работаете
👉 Быстрый фидбек с помощью смайлов 😀🙁

Обновление профайлеров заслуживает отдельных пунктов: 👉 настройка отслеживания памяти
👉 увеличение производительности
👉 отслеживание рендеринга кадров
👉 Fragment-ы теперь отображаются на timeline
👉 Форматирование контента в HTTP запросах

Что нового в Android Gradle Plugin:
👉 Плагин построен на Gradle 4.10.3
👉 Увеличена скорость сборки проекта
👉 Task Configuration Avoidance
👉 CMake version 3.10.2
👉 Улучшена инкрементальная компиляция Java кода
👉 С помощью флага android.debug.obsoleteApi=true можно отследить что использует устаревшее API, которое будет удалено в ближайших релизах.
👉 Превью R8 (замена ProGuard)

Новинок много и рекомендую обновляться. Помните одно - чтобы получить высокую скорость сборки в проекте вы также должны обновить все использование Gradle у себя до последнего API в Gradle.

Кому хочется больше нового - Android Studio 3.4 Canary 10 уже доступна для вас. Очень жду что же будет там сделано в рамках проекта по исправлению багов и улучшению стабильности
#GooglePlay #SMSRetrieverAPI

Reminder SMS/Call Log Policy Changes от Android Developers Blog

Google Plaу начинает более строго проверять приложение - теперь нельзя просто так опубликовать приложения с разрешениями на использование SMS и журнала звонков. Зачем это нужно? Это явная забота о пользователях и ограничения на недопустимое использование возможностей разработчиком.

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

Например, с SMS стоит сделать следующее:
👉 Если вы считывание SMS для автоматической верификации, то вам стоит перейти на SMS Retriever API
👉 Отправка сообщений теперь должна происходить только через приложения, предназначенные для этого

Больше подробностей о новой политики Google Plaу ищите здесь
#ArchComponents #Livedata #Testing

Writing effective ViewModel test от Josef Raska

Статья-реклама библиотеки LiveData Testing, которая позволяет эффективно тестировать LiveData в ViewModel.

По итогу ваш код сводится к

viewModel.counterLiveData()
.test()
.assertHasValue()
.assertValue(5)
#Podcast

Android Dev Подкаст #84. Новости. 🙈🙊🙉 текут реки пользовательских данных

Куда уходят данные. За что удаляют приложения. Новые старые OS. R8, GC в Art и прочие ништяки.
#Security #Biometric #AndroidX

Fingerprint Authentication using BiometricPrompt Compat от Natig Babayev

Современная безопасность давно ушла от простых паролей. Все современные небюджетные устройства имеют биометрическую авторизацию: отпечаток пальца, радужка глаза, лицо и пр.

Android поддерживает авторизацию по отпечатку пальца, но она была помечена как deprecated в Android P, и на смену FingerprintManager пришло BiometricPrompt API. Идея такой замены заключается в расширение поддерживаемых метод идентификации в Android SDK и стандартизации UI. Но это только усилило извечную проблему Android.- фрагментацию API. Эту проблема призвана решить новая библиотека из AndroidX androidx.biometric, которая сейчас находится в разработке.

В рамках статье автор рассматривает использование новой библиотеки.
#GooglePlay

Get your apps ready for the 64-bit requirement

Google Play все сильнее закручивает болты для разработчиков (что на мой взгляд хорошо). Уже сделали ограничения по targetSdk и SMS и CALL_LOG разрешения. Но приближается очередное обновление политики - все приложения, которые содержат нативный код, теперь будут должны поддерживать 64-битную архитектуру. Правило вступает для всех приложение с 1 августа 2019 , а с 1 августа 2021 года смартфоны с поддержкой 64 битной архитектуры не будут видеть приложения, которые не поддерживают данную архитектуру.

Есть исключения из правил:
👉 Android Wear приложения
👉 Android TV приложения
👉 Для приложение на Unity 5.6 и более старых изменения вступают в силу 1 августа 2021
Как вы относитесь к политике ужесточения публикации приложений в Google Play?
Anonymous Poll
72%
Позитивно
9%
Негативно
19%
Мне все равно
#ProGuard #R8

ProGuard and R8: a comparison of optimizers

ProGuard приобрел значительную долю популярности, если не большую, за счет Android разработки. Каково же их разочарование когда Google начала разрабатывать R8 как замену ProGuard и уже в следующем релизе Android Studio 3.4 R8 по умолчанию заменит ProGuard.

В статье вы найдете сравнение ProGuard и R8. Сразу скажу что R8 не срывает оваций т.к. часть оптимизаций, которые уже давно есть в ProGuard еще не реализованы в новой утилите от Google, но она содержит другие и активно наращивает обороты. Также R8 сфокусировано на Android разработке: исправление багов с интерпретаций байткода на различных версиях Android, удаление сервисного кода от Kotlin и прочие.
#R8 #Optimization #Kotlin

R8 Optimization: Null Data Flow Analysis (Part 2)
R8 Optimization: Null Data Flow Analysis (Part 1)

Продолжение серии статей от Jake Wharton про оптимизации, которые выполняет R8 в Kotlin коде. В статье рассматривает о том как R8 избавляется от сервисного кода по проверки Java объектов на null.
#Library #UI #PorterDuff

The power of Android Porter/Duff Mode

В статье рассказывается о создание анимации источника света на основе Porter/Duff Mode и все это собрано в библиотеку.

Github LightProgress
#Dagger #LibUpdates #DependencyInjection

Dagger 2.21 is out

Вышла новая версия Dagger. Релиз не содержит нового функционала и включает:
👉 Улучшение скорости сборки
👉 Новые валидации графа зависимостей
👉 Улучшения в генерированном коде
#Deadlock #Kotlin #Coroutines

Deadlocks in non-hierarchical Communicating Sequential Processes (CSP) от Roman Elizarov

Рассказ о том, как при CSP (actor в корутинах), можно получить deadlock. Самое главное - как этого не допускать! Эта статья яркий пример, что каким бы крутым не было решение, то допустить ошибку можно с любой и надо быть внимательным.
#ProGuard #Security #HowItWork

Как работает ProGuard от @miproblema

Если вы делаете качественные Android приложение с высоким уровнем безопасности и маленьким размер, то вы наверняка знаете, что такое ProGuard. Много написано о том как настроить эту утилиту, но как она работает? Что происходит для того чтобы оптимизировать ваше приложение и оставить его рабочим? Статья раскрывает как работает ProGuard
#Lifecycle #ViewModel #Activity

The Android Lifecycle cheat sheet — part IV : ViewModels, Translucent Activities and Launch Modes

Четвертая часть в серии диаграмм жизненного цикла основных компонентов Android. В последней статье вы найдете информацию о жизненном цикле:
👉 ViewModel в Activity и Fragment
👉 Translucent Activity
👉 Activity в различных launch режимах: "single top" и "single task"