Media is too big
VIEW IN TELEGRAM
00:00 – Что нового в Gradle 9 и как обновиться
03:08 – Configuration Cache
08:59 – Поддержка Kotlin 2.2
10:10 – Kotlin build script compilation avoidance
10:46 – Улучшения nullability в Gradle API
14:05 – Gradle теперь требует Java 17 или выше
15:39 – Обновление до Groovy 4
16:43 – Reproducible архивы включены по умолчанию
19:00 – JAVA_HOME теперь может использоваться как источник toolchain в Daemon JVM
21:39 – Gradle Wrapper теперь поддерживает символьные версии и SemVer (например, latest.release)
23:32 – Какие фичи стали стабильными, что устарело и что удалено
25:05 – Полезные ссылки на документацию и ресурсы
26:06 – Рекомендованные best practices для работы с Gradle 9
26:53 – Заключение
#gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
Что нового
👉 Gemini теперь может работать в агентском режиме
👉 AI агенты
👉 Изменение UI в превью на основе запроса на естественном языке
👉 Поддержка разработки под Android XR
👉 Добавлена интеграция с фермой устройств от Samsung
👉 Улучшения в Compose Preview
👉 Переход на K2 режим работы компилятора
👉 NDK Возможность проверки поддержки страницы памяти размером 16 Kb
Обновиться можно из Android Studio или через JetBrains Toolbox
#android #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда: 5 августа, 18:00 (GMT+3)
На прямом эфире вас ждут эксклюзивные инсайды от ведущих специалистов Яндекса и Дзена о том, какие модели искусственного интеллекта сегодня используются в российском бигтехе и как именно AI разработка помогает автоматизировать ключевые задачи в программировании.
Эксперты:
⭐️ Дмитрий Мовчан, Head of Mobile в VK/Дзен @dmitriy_movchan_pro_it
Стрим также будет проходить в
#AndroidBroadcast #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
00:00 - Папка buildSrc
02:06 - Convention Plugin
09:29 - Version Catalog
15:58 - Общие Task
19:09 - Производительность buildSrc
23:32 - included build
#gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
🐱 Flocon - open source инструмент для отладки и инспекции Android приложений
Что умеет инструмент:
👉 Отслеживание сетевых запросов
👉 Просмотр файлов, баз данных и shared pref
👉 Дебаг меню с десктопа
👉 Работа c deeplink
Для работы необходимо подключение библиотеки в Android и установка Desktop приложения (поддерживается только macOS)
#android #инструменты
Что умеет инструмент:
👉 Отслеживание сетевых запросов
👉 Просмотр файлов, баз данных и shared pref
👉 Дебаг меню с десктопа
👉 Работа c deeplink
Для работы необходимо подключение библиотеки в Android и установка Desktop приложения (поддерживается только macOS)
#android #инструменты
Библиотеки от Google и других крупных компаний, как правило, содержат множество ресурсов для различных локалей, версий Android, плотностей экранов и других конфигураций. По умолчанию APK включает все эти ресурсы, даже если они не используются в вашем приложении.
// build.gradle.kts
android {
bundle {
// Отключить динамическую доставку ресурсов по локалям
language.enableSplit = false
density.enableSplit = true
abi.enableSplit = true
}
}
Чтобы в APK и App Bundle попали только нужные локали, необходимо явно указать их через фильтр локалей в Android Gradle Plugin:
android {
androidResources {
localeFilters += listOf("en", "ru")
}
}В результате:
✅ Размер сборки уменьшится
✅ В UI не появятся ресурсы из локалей, которые вы не поддерживаете
✅ Google Play не будет доставлять ресурсы для лишних локалей
Ранее вместо androidResources использовали resConfigs и resConfiguration, что позволяло удалять ресурсы не только по локалям, но и в других квалификаторах. Эту возможность пометили как deprecated. Теперь удаление предлагается только по языкам. Указание значений из других квалификаторов игнорируется.
📚 Больше полезных материалов в Базе Знаний Android разработчика от @android_broadcast
#android #googleplay #лучшиепрактики
Please open Telegram to view this post
VIEW IN TELEGRAM
Очень часто сталкиваюсь с тем, что приложения российских банков весят много (у каждого из нас конкретная цифра будет своя). При этом крупные игроки инвестируют в оптимизацию и сокращение размера.
Разберёмся, почему у нас это почти никого не волнует.
🛑 Невозможность публикации в Google Play
- Google Play был сдерживающим фактором — магазин ограничивал [максимальный размер приложения, поэтому приходилось оптимизировать.
- Отказ от App Bundle в RuStore — хотя формат и появился в магазине от VK, для его использования нужно передать сертификат подписи. Разработчики это не делают по причине "Зачем?" иди "Не доверю им свой сертификат и креды для подписи".
На август 2025 количество приложений с распространением через App Bundle в RuStore всё больше и больше.
- Распространение через универсальный APK — в нём включены все языки, архитектуры процессоров и размеры экранов. Большая часть этих ресурсов на устройстве не нужна, но всё равно хранится. Даже при обновлениях внутри приложения банки не используют Split APK хотя бы по ABI.
- Нет аналога Google Play Dynamic Delivery — этот механизм позволяет загружать только нужные пользователю ресурсы, но вне Google Play им воспользоваться невозможно.
💼 По-моему мнению, главная причина: Банки не конкурируют приложениями как основным продуктом
Клиенты выбирают банк по финансовым условиям: выгодные ставки, кешбэк, бесплатное обслуживание.
Я даже не могу вспомнить рекламы банков по телевизору, где фокус на приложении, а не процентах или кэшбеке (может вы в комментариях сможете поделиться примером рекламы приложения банка)
Если завтра приложение будет весить 400 МБ вместо 200 Мб — откажется ли пользователь обновить его или вовсе пользоваться услугами банка? Скорее всего, нет. И бизнес это прекрасно понимает.
Бороться за компактность невыгодно. Это не влияет на метрики и привлечение клиентов. Люди устанавливают приложения. Деньги крутятся. Зачем заморачиваться?
Хочешь понять, как Google Play и App Bundle реально помогают ужать приложение до минимума? Разложил всё по полочкам вот в этом видео
#android #googleplay #appbundle #rustore
Please open Telegram to view this post
VIEW IN TELEGRAM
‼️ Samsung запретит на своих смартфонах всё кроме фирменной One UI
Bootloader на устройствах Samsung всегда был открытым. Это позволяет модерам заливать на смартфоны компании альтернативные прошивки, а после прекращения поддержки моделей производителем, продолжить получать там свежие версии Android.
В соотвествии с новым законом из Европейского Союза, Samsung (как и другие производители смартфонов) обязана запретить установку неавторизованного программного обеспечения, а также позволять ставить только “подписанные и одобренные прошивки” (а кто одобрять будет?). Директива вступает в силе с 1 августа 2025 года так что все новые устройства Samsung, а также все что обновятся на One UI 8 больше не смогут использовать что-то софта кроме как от производителя.
Очень странный закон. Когда Евросоюз наоборот старается сделать диверсификацию рынка в мобилки, убирать монополию Apple в работе сервисов на iOS, а по итогу начинает запрещать кастомные сборки для устройств. В целом тенденция не нова, так как сами производители уже закрывают свои Bootloader и только вопрос времени когда все производители полностью закроют свои устройства, а модеры вымрут из-за невозможности делать ПО под свежие устройства.
Начало конца свободных прошивок или что-то благородное? Делитесь в комментариях
#samsung
Bootloader на устройствах Samsung всегда был открытым. Это позволяет модерам заливать на смартфоны компании альтернативные прошивки, а после прекращения поддержки моделей производителем, продолжить получать там свежие версии Android.
В соотвествии с новым законом из Европейского Союза, Samsung (как и другие производители смартфонов) обязана запретить установку неавторизованного программного обеспечения, а также позволять ставить только “подписанные и одобренные прошивки” (а кто одобрять будет?). Директива вступает в силе с 1 августа 2025 года так что все новые устройства Samsung, а также все что обновятся на One UI 8 больше не смогут использовать что-то софта кроме как от производителя.
Очень странный закон. Когда Евросоюз наоборот старается сделать диверсификацию рынка в мобилки, убирать монополию Apple в работе сервисов на iOS, а по итогу начинает запрещать кастомные сборки для устройств. В целом тенденция не нова, так как сами производители уже закрывают свои Bootloader и только вопрос времени когда все производители полностью закроют свои устройства, а модеры вымрут из-за невозможности делать ПО под свежие устройства.
Начало конца свободных прошивок или что-то благородное? Делитесь в комментариях
#samsung
Чем отличается HDR (High Dynamic Range) видео или фото от обычного или SDR (Standard Dynamic Range)? Дисплей устройства становится ярче и насыщеннее. В этом и есть задача HDR - обеспечить больше информации о цвете и яркости картинки, чтобы передать максимально близко к задумке автора контента.
SDR формат с которым мы живем довольно давно и он разрабатывался из расчет на устройства того времени, которые просто не могли передать параметры выше:
- максимальная яркость ~100 нит
- ограниченная цветовая палитра (sRGB)
- светлое не такое уж светлое, а тёмное — просто чёрная клякса
Современные дисплее смартфонов имеют пиковую яркость в несколько тысяч нит, большие возможности по показу разных цветов и скорость отображения, поэтому SDR просто не может раскрыть их возможностей. Для этого сделали HDR и он позволяет раскрыть максимум от экрана устройства.
В Android 14 начали активную поддержку HDR контента и его его совместимость с устройствами без поддержки формата, а именно добавили возможности:
✅ показывать HDR-видео в SurfaceView и MediaCodec
✅ накладывать поверх яркий, живой интерфейс — тоже в HDR
✅ узнать через API, поддерживает ли устройство HDR
✅ использовать ImageDecoder для работы с HDR-изображениями
✅ автоматически конвертировать HDR в SDR контент
Google внедрила поддержку UltraHDR - формат изображений c HDR. В нем могут снимать современные Android устройства и получать больше эмоций от ваших фото. Каждый раз наслаждаюсь этим на Pixel.
В блоге Android Developers вышла статья с подробностями как устроен цвет на цифровых устройствах и какие преимущества даёт HDR
#android #hdr
Please open Telegram to view this post
VIEW IN TELEGRAM
Android Developers
Support Ultra HDR | Android media | Android Developers
За годы работы в IT в разных компаниях и командах я понял одну простую вещь:
даже лучшие правила и практики будут нарушаться, если нет автоматической системы, которая их регулярно проверяет.
Сегодня поделюсь, как я подхожу к автоматизации контроля качества кода Android-проектов на Kotlin.
Рассматривать будем только статический анализ — когда код не выполняется, а анализируется как текст.
🛠 Инструменты для анализа кода
• Detekt — статический анализатор Kotlin-кода. Работает быстро, так как проверяет файлы по отдельности, без учёта зависимостей между ними.
• KtLint — проверка стиля кода. Настроек немного, но работает с конфигом .editorconfig, что удобно для командной разработки.
• Android Lint — мощный инструмент для Android-проектов. Может анализировать разные типы исходников и проверять сразу несколько файлов по одному правилу.
⚠️ Запуск из Android Studio и через Gradle может иметь разные настройки. Полный контроль — через Gradle
• Compose Rules — правила для Detekt или KtLint, проверяющие соответствие best-practice работы с Compose.
• Compose Rules от Slack — набор правил для Android Lint (частично пересекается с предыдущим, но есть уникальные).
🔐 Безопасность:
• GitLeaks — поиск в коде секретов и данных, которые не должны попасть в репозиторий.
Можно смело комбинировать несколько линтеров. Лучше перебдеть, чем недопроверить.
🚀 Как запускать проверки
Я использую три уровня автоматизации:
1. Перед пушем кода — быстрые проверки (Detekt, KtLint) в pre-push hook.
⏱️ Цель — не больше 30 секунд, чтобы не раздражать разработчиков, но сразу отсеивать очевидные ошибки.
2. На CI/CD — полная проверка.
⏱️ Лимит — 10 минут. Обычно сюда входят все линтеры, кроме Android Lint, который может сильно замедлить процесс.
3. Ночные прогоны — расширенный Android Lint и тяжёлые правила, если в проекте были изменения.
🛠 Собственные правила
Стандартные линтеры могут покрыть только общие случае и правила, но если есть практики, которые надо форсировать для вашего кода то тут надо будет писать собственные правила. Для анализа Kotlin кода я пишу расширения для Detekt, а во всех остальных случаях - для Android Lint, но довольно редко.
📌 Бонус: AAR-библиотеки могут содержать свои Lint-правила, которые автоматически подключаются при их использовании.
💬 Делитесь в комментариях как вы следите за качеством вашего кода на регулярной основе и какие инструменты используете.
#android #compose #инструменты #ci
Please open Telegram to view this post
VIEW IN TELEGRAM
a) Написать фичу максимально быстро.
b) Обеспечить сопровождаемость и стабильность.
a) Культурой, процессами и инструментами для управления эволюцией ПО в масштабе.
b) Использованием особых языков.
a) Магия и удача.
b) Фундаментальные принципы проектирования, архитектуры и сопровождения.
a) В секретной документации.
b) В книге «Делай как в Google. Разработка ПО»! (гид по построению надежных систем)
Для кого: Мобильные разработчики, готовые перейти от кода к инженерному мастерству.
🎁 Промокод
broadcast = скидка 25% на книгу и другие издания Питер!#реклама
Please open Telegram to view this post
VIEW IN TELEGRAM