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
Отключите эти настройки Android в Gradle для ускорения сборки

В Android Gradle Plugin есть настройка разных build feature для включения разных опций
// Часть флагов могут быть доступны только в определнных типах модулей
// Указаны знгачения по умолчанию в Android Gradle Plugin 8.10.0
android {
buildFeatures {
// Включить/выключить Android ресурсы для библиотечных модулй
androidResources = true
aidl = false
buildConfig = false
compose = false
dataBinding = false
mlModelBinding = false
prefab = false
renderScript = false

// Генерация ресурсов из Gradle файла
resValues = true
shaders = true
viewBinding = false
}
}


Каждая из них отвечает за определенную опцию, но вот значение каждой опции будет зависеть от версии.

Я предпочитаю явно выключить все опции по умолчанию и в каждом модуле включать их только при необходимости в модуле в build.gradle.kts. Сделать это можно через gradle.properties
# Отключение ресурсов для Android Library модулей
android.library.defaults.buildfeatures.androidresources=false
android.defaults.buildfeatures.aidl=false
android.defaults.buildfeatures.resvalues=false
android.defaults.buildfeatures.databinding=false
android.defaults.buildfeatures.mlmodelbinding=false
android.defaults.buildfeatures.shaders=false
android.defaults.buildfeatures.prefabPublishing=false
android.defaults.buildfeatures.viewbinding=false


‼️ Больше полезных советов и статей в Базе Знаний Android разработчика

#android #gradle #лучшиепрактики
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54
В Android 16 появится возможность работать только с проверенными и публично доступными SSL сертификатами

В XML реcурсе с Network Security Config надо сделать
<network-security-config>
<base-config cleartextTrafficPermitted="false">
<certificateTransparency enabled="true" />
</base-config>
</network-security-config>

Источник - @nek_12_personal

#android16 #безопасность
👍23
🤖 В Android 16 компиляция кода будет происходить в облаке

В коде Android 16 обнаружили возможность компиляции dex в ota код в облаке, а не на устройстве. Возможность рассчитана на слабые устройства для ускорения установки и экономии энергии.

#android16 #art
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍61
Media is too big
VIEW IN TELEGRAM
📹 Как сделать Backup и перенос данных между устройствами на Android (40 мин)

Не так давно я поменял Pixel 7 на 9. Кажется, что всё в рамках одной экосистемы идет, но как много приложений заставили меня снова логиниться и проводить настройку. Приятным исключением стал VK, как раз так авторизация перенеслась и всё работало!

Разработчик этой фичи, Артур Илькаев, в VK ID сделал доклад на Mobius, где рассказал все подробности решения, а также как много денег это смогло сэкономить бизнесу, а сам Артур смог получить благодаря этому миллионный бонус за год потому что сэкономил бизнесу намного больше и в долгий срок!

0:00 Про что будет доклад
2:32 Начало доклада
39:41 Обсуждение

#android #backup #mobius
Please open Telegram to view this post
VIEW IN TELEGRAM
👍371
Как найти неиспользуемые зависимости в Dagger Component (EN,11м)

С помощью Dagger SPI автор написал анализатор графа Dagger c целью поиска неиспользуемых зависимостей и описал подход в статье. Также подход можно использовать для визуализации графа зависимостей, считать разные метрики графа и пр.

🐱 Исходный код на GitHub
🔗 Альтернативная ссылка

#dagger #di #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍25
Разработчик на простом примере показывается как сделать чистую архитектуру в Android проекте, подробно описывая каждый шаг. Полезно будет для новичков. Читайте тут (12м)

#android #архитектура
👍18
Metro - Новый DI фреймворк на чистом Kotlin (ещё в разработке)

@DependencyGraph
interface AppGraph {
val httpClient: HttpClient

@Provides
private fun provideFileSystem(): FileSystem = FileSystem.SYSTEM
}

@Inject
class HttpClient(private val fileSystem: FileSystem)

@Inject
@Composable
fun App(circuit: Circuit)


#kotlin #di #ksp
👍20
Обзор(EN,7М) как оценивать время выполнения Gradle тасков в разных условиях для Android проектов. Если коротко - используйте Gradle Profiler и правильно настраивайте сценарий

🔗 Альтернативная ссылка

#android #gradle #производительность
👍14
Forwarded from AvitoTech
Продолжаем разбираться в паттернах! На очереди — порождающие 🚀

В новом выпуске рассмотрим первые два Builder (Строитель) и Factory Method (Фабричный метод) — паттерны, задача которых скрывать детали создания объектов в абстракциях.

🔍 В выпуске рассказали про подводные камни использования, их назначение, плюсы и минусы. А ещё объяснили, откуда взялся паттерн фабрика и почему паттерны — не аксиомы:

📺 YouTube
🔵 VK Видео
💻 Rutube

#backend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29
🛒 В Google Play Services добавили сканер платежных карт

Сканер доступен всем, у кого есть доступ к Google Pay API for Android. Для использования API не требуется разрешение на использование камеры в вашем приложении.

Для работы API также необходимы: Google аккаунт на устройстве, 1+ GB RAM, наличие задней камеры и Google Play Services, а также поддержка портретной ориентации.

#android #googleplay
Please open Telegram to view this post
VIEW IN TELEGRAM
👍39
This media is not supported in your browser
VIEW IN TELEGRAM
🔨 Google представила Gemini в Android Studio для бизнеса с повышенными стандартами безопасности и возможностью подключения репозиториев компании, чтобы Gemini лучше понимал предпочтения команды в коде.

Для работы необходимо оформить подписку Gemini Code Assist Standard (от 19$ в месяц) или Enterprise (от 45$ в месяц).

#android #androidstudio #ai #gemini
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18
🔨 Появилось тестирование бэкапа данных в Android Studio

В Android Studio Narwal 2025.1.1 добавили возможность тестирования бэкапа данных приложения и его восстановления

#android #androidstuido
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34
Escape Launcher - минималистичный опен сорс лаунчер для Android 8.1+

#android #opensource #пример
👍37
Вышел KSP 2.0, который теперь работает на KSP2 по умолчанию. Теперь работает на K2 и отдельный генератор исходников с большей гибкостью

#kotlin #ksp
👍27
🤖 Demeter — инструмент для анализа производительности Android приложений

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

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

Инструмент имеет плагинную архитектуру и открытый исходный код, что позволяет вам сделать собственные расширения. Из коробки доступны плагины:
• Замер времени выполнения методов и добавление большей информации для профайлера
• Подсчет количества рекомпозиций в Composable функциях
• Время инициализации зависимостей из Dagger графа
(предлагайте в комментариях, какие замеры было бы полезно сделать в ваших приложениях, а я буду делиться своими)

Demeter может работать через плагин Kotlin компилятора (только с исходным кодом в вашем проекте) и/или через модификацию байткода, где уже можно следить за кодом в подключённых библиотеках без исходного кода. Подробнее можно ознакомиться в статье.

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

❗️ ВАЖНО! Demeter можно интегрировать в продакшен билд, но НЕ НАДО этого делать. Весь замер должен производиться на тестовых сборках с включением опций профилирования через AndroidManifest.

Задавайте свои вопросы по библиотеке, и ещё сделаем отдельное интервью про производительность приложений и тем как за ней постоянно следить, выдерживая заданную планку качества работы.

#android #производительность #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28
🚀 Вышла новая версия Jetpack Room 2.7.0 с поддержкой KMP.

🔥 Главное нововведение этой версии Room — рефакторинг библиотеки для поддержки нескольких платформ через KMP: Android, iOS, JVM (Desktop), native Mac и native Linux. Документацию о том, как начать, можно найти здесь. В рамках поддержки KMP было выделено SQLiteDriver.

🏝 При использовании KSP теперь будет генерироваться код на Kotlin, а для KAPT или проектов с Java — на Java.

🏝 Поддерживается Kotlin 2.0 и выше, также рекомендуется использовать KSP2.

#android #kmp #jetpack #ios #desktop #mac #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33
🚀 Вышел Jetpack AsyncLayoutInflater 1.1.0

Что нового:
👉 Возможность настройки AsyncLayoutFactory при инициализации AsyncLayoutInflater, что позволяет использовать AsyncAppCompatFactory для корректной работы с AppCompat view
👉 inflate метод теперь принимает Executor на котором будет вызван callback OnInflateFinishedListener

#android #jetpack #jetpackupdate
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
🚀 Вышел Jetpack Core 1.16.0

Самое важное в новой версии - поддержки Android 16, а также использование JSpecify nullness annotations. При использовании с Kotlin разработчикам для корректной работы надо передать аргументы
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode


#android #jetpack #android16
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14