Что нового
👉 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
a) Написать фичу максимально быстро.
b) Обеспечить сопровождаемость и стабильность.
a) Культурой, процессами и инструментами для управления эволюцией ПО в масштабе.
b) Использованием особых языков.
a) Магия и удача.
b) Фундаментальные принципы проектирования, архитектуры и сопровождения.
a) В секретной документации.
b) В книге «Делай как в Google. Разработка ПО»! (гид по построению надежных систем)
Для кого: Мобильные разработчики, готовые перейти от кода к инженерному мастерству.
🎁 Промокод
broadcast = скидка 25% на книгу и другие издания Питер!#реклама
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔9👍7🤯1
В современных IDE есть простой поиск и замена по текстам, поиск по классам, рефакторинг кода. Иногда надо сделать рефакторинг кода сквозь весь проект на основе понимания стркуктуры кода. И это
Этот формат поиска позволяет вам вводить в переменные код, делать замены методов, классов и даже что-то сложнее.
Например, сегодня надо было поправить использование форматирования в коде:
// Было
String.format(“%s %s”, string1, string2)
// Стало
string1 + ' ' + string2
Пример того как сделана замена можете увидеть в картинках/видео к посту. Если хотите вдохновиться тем, какие возможности есть - посмотрите готовые примеры.
#idea
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42👍13❤4🤯2