This media is not supported in your browser
VIEW IN TELEGRAM
JetBrains сделала свой плагин для Bazel на замену решению от Google.
Что может плагин:
👉 Автодополнение
👉 Простое импортирование проекта
👉 Прокачали UI
👉 Много улучшение по сравнению с версий из 2025.1
Доступен для IDEA 2025.2 и новее.
#jetbrains #idea #bazel
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯20👍5🔥3❤2🤝2
Самое важное в Gradle 9 -
Что еще:
👉 Обновили используемый Kotlin до версии 2.2, а Groovy до версии 4.0
👉 Kotlin build noscript теперь поддерживают compilation avoidance - будет пропускаться их повторная компиляции, если не найдется значимых изменений. Это положительно скажется на время сборке, если вы используете Kotlin в buildSrc
👉 Перешли на использование JSpecify Nullability аннотаций
👉 Минимальная версия Java - 17
👉 Улучшения для авторов плагинов
Как и с любым мажорным релизом Gradle часть фичей стала стабильной, а deprecated API удалили, так что после миграции ваш проект может потребовать доработки или обновления подключенных Gradle плагинов.
#gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉39👍10🔥8❤2
Media is too big
VIEW IN TELEGRAM
00:00 – Что нового в Gradle 9 и как обновиться
03:08 – Configuration Cache
08:59 – Поддержка Kotlin 2.2
10:10 – Kotlin build noscript 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
👍26
Что нового
👉 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
❤29👍11🤯2
Когда: 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
🔥17👍9🤔5❤3🤯1
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
👍57🔥10❤3🤔1🤯1
🐱 Flocon - open source инструмент для отладки и инспекции Android приложений
Что умеет инструмент:
👉 Отслеживание сетевых запросов
👉 Просмотр файлов, баз данных и shared pref
👉 Дебаг меню с десктопа
👉 Работа c deeplink
Для работы необходимо подключение библиотеки в Android и установка Desktop приложения (поддерживается только macOS)
#android #инструменты
Что умеет инструмент:
👉 Отслеживание сетевых запросов
👉 Просмотр файлов, баз данных и shared pref
👉 Дебаг меню с десктопа
👉 Работа c deeplink
Для работы необходимо подключение библиотеки в Android и установка Desktop приложения (поддерживается только macOS)
#android #инструменты
🤔35❤5👍3
Библиотеки от 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
👍45❤5
Очень часто сталкиваюсь с тем, что приложения российских банков весят много (у каждого из нас конкретная цифра будет своя). При этом крупные игроки инвестируют в оптимизацию и сокращение размера.
Разберёмся, почему у нас это почти никого не волнует.
🛑 Невозможность публикации в 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
👍64❤6🔥6🤔5🤝3🤯2🙏1
‼️ 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
🤯40❤11🤔8👍5
Чем отличается 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
👍18❤2
За годы работы в 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
👍49🔥8🆒3❤2