Android Broadcast
14.5K subscribers
3.71K photos
376 videos
11 files
6.14K links
Подборка новостей и статей для Android разработчиков.

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

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
📹 GrapheneOS как способ избавиться от тотальной слежки за твоим смартфоном

Сделал короткий обзор зачем нужна GrapheneOS, авторы которой перепили AOSP для лучшей безопасности, что им стоит Google подчернуть в этой ОС и самое главное - какой опыт использования этой ОС

#Android #AndroidBroadcast #GrapheneOS
Please open Telegram to view this post
VIEW IN TELEGRAM
👎33🔥20👍73🤔1
💉 Выпустил первый релиз detekt-rules-koin — Detekt-расширение с 51 правилом для Koin 4.x

Если используете Koin и Detekt, то знаете, что стандартный Detekt ничего не знает о специфике Koin. Можно написать рабочий, но проблемный код — и никаких предупреждений.

Что ловит библиотека:
👉 Service Locator антипаттерны (5 правил)
👉 Ошибки в Module DSL (14 правил)
👉 Проблемы управления скоупами (8 правил)
👉 Platform-специфичные проблемы (8 правил)
👉 Архитектурные нарушения (4 правила)
👉 Koin Annotations (12 правил)

Подключение:
// build.gradle.kts
dependencies {
detektPlugins("dev.androidbroadcast.rules.koin:detekt-koin4-rules:1.0.0")
}


Требования: Kotlin 2.0+, Detekt 1.23.8+, Koin 4.x

🐱 GitHub Репо

Жду фидбэк — каких не хватает, ложные срабатывания, что настраивается неудобно и всё всё. Пишите в комментариях к этому посту или в Issues репозитория 🙌
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29👍10👎92
🤖 Очередная порция ограничений для Activity в Android 17

Копался в behavior changes для Android 17 и наткнулся на очередное закручивание гаек вокруг запуска Activity из фона.

На этот раз Google расширил BAL (Background Activity Launch) ограничения на IntentSender

IntentSender - это обёртка над PendingIntent, позволяющая передать право запуска Intent другому приложению или системе. Именно через него работают уведомления, виджеты, shortcuts и межпроцессные вызовы.


Так вот, константа MODE_BACKGROUND_ACTIVITY_START_ALLOWED теперь deprecated. Если где-то передаёте её через ActivityOptions при работе с PendingIntent — нужно мигрировать на MODE_BACKGROUND_ACTIVITY_START_ALLOW_IF_VISIBLE. Разница в том, что теперь Activity из фона запустится только если вызывающее приложение видимо пользователю.

val options = ActivityOptions.makeBasic().apply {
pendingIntentBackgroundActivityStartMode =
ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOW_IF_VISIBLE
}


Найти проблемные места просто — Google обновил lint и StrictMode под новые требования. Запускаете lint, ищете использования MODE_BACKGROUND_ACTIVITY_START_ALLOWED и получаете полный список того, что нужно поправить.

Формально это касается только targetSdk 17+, но лучше не тянуть — сами знаете, как работают дедлайны в Play Console.

🔗 Источник developer.android.com

#Android17 #androiddev #security #activity
Please open Telegram to view this post
VIEW IN TELEGRAM
👎20👍14👌73🤯3
This media is not supported in your browser
VIEW IN TELEGRAM
Уже несколько недель я активно погружаюсь в разработку с помощью ИИ и решение разных задач через кодинг агентов. Буду регулярно делиться впечатлениями и находками на Boosty.

🪙 Уже доступен первый выпуск

#AndroidBroadcast #Boosty #ДневникИИКодера
Please open Telegram to view this post
VIEW IN TELEGRAM
111👎71👍327👏3🤯3🔥2👌2
🛒 Попытаемся отменить обязательную верификацию разработчиков в Google Android? 🤔

Наткнулся на сайт keepandroidopen.org, который призывает бороться с "закрытием" Android. Честно — не понимаю, на что надеются авторы.

Обязательная верификация (подробнее в этом посте) разработчиков ≠ закрытие Android 🚫. Всё что Google делает в этом направлении — происходит при поддержке правительства, а то и вовсе по их инициативе.

Тот, кто публикует вредоносное и не готов себя раскрыть — ну и ладно. Я ничего не теряю.

Пользователям, которым не нравится новый подход, есть варианты:
— прошить телефон на Android без GMS, всё будет как прежде
— купить Huawei, там Google сервисов нет в принципе

Конечно, если не бороться — ничего не сдвинется. Но обязательная верификация всё равно будет. И если она не приведёт к потерям денег у Google — значит всё устраивает 🤷

#Android #Безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
👎91👍12🔥1👏1
😁 Одна хитрость верификации Android разработчика, которая усложняет процесс регистрации

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

#Android #GooglePlay
👎58👍7🤯7🎉42🔥2👌1
🤖 Вышел Coil 3.4.0

Coil - это библиотека для загрузки изображений на Android (и теперь Compose Multiplatform). Название расшифровывается как Coroutine Image Loader — библиотека написана на Kotlin с первого дня и отлично вписывается в современный стек: корутины, Compose, KMP.


В новой версии несколько интересных вещей:

🔁 ConcurrentRequestStrategy — теперь можно объединять параллельные сетевые запросы на один и тот же ресурс. По умолчанию отключено и помечено как экспериментальное, но идея хорошая — вместо N одинаковых запросов летит один, остальные ждут результата.

🧵 Асинхронный декодинг JS/WASM — изображения больше не блокируют главный поток браузера. Важно для KMP-проектов с вебом.

🐧 Linux targets — добавили поддержку linuxX64 и linuxArm64 для non-Compose артефактов.

🎞 Улучшенные переходы в Compose — новый useExistingImageAsPlaceholder позволяет плавно переходить от предыдущего изображения, когда нет placeholder. Мелочь, но визуально приятно.

🎬 Embedded video thumbnails — поддержка встроенных превью для видео.

🔧 coil-lint — добавили Android Lint-правило, которое ловит случайные вызовы kotlin.error() внутри блоков ImageRequest.Builder. Неожиданно полезно.

Зависимости Kotlin 2.3.10, Compose 1.9.3, Okio 3.16.4.

#Android #AndroidDev #KMP #kCMP #Compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40👎54🔥1👏1🤔1👌1
⚙️ Compose Remote уже в Альфа. Шаг за шагом выходят версии и BDUI на Compose уже в пути! Подробнее писал тут

#Android #Compose #BDUI #SDUI
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯42👍17🔥9👎6
Вышла вторая Beta Android 17. Для разработчиков. Изменения произошли под капотом и в системном UI.

🔗 Анонс тут

#Android #Android
👎85👍3🤯3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
В Android 17 на Pixel появится возможность запускать приложение как плавающее окно. Да-да. Вы скажете, что это давно уже было на многих планшетах. Теперь и в стоковой оболочки Pixel будет, хотя вот другим производителям всё равно от этого изменения

#Android #Android17
👎15🤔96🔥6👍4🤯3
This media is not supported in your browser
VIEW IN TELEGRAM
🤖 EyeDropper API - встроенный пикер цвета в пикселе на Android 17. Вот я не понял кому этого так не хватало?

#Android #Android17
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32🤔12👎8👍3🤯2
// Пример запуска EyeDropper
val eyeDropperLauncher = registerForActivityResult(
ActivityResultContracts.StartActivityForResult()
) {
result -> if (result.resultCode == Activity.RESULT_OK) {
val color = result.data?.getIntExtra(Intent.EXTRA_COLOR)
// Обрабатываем полученный результат
}
}

fun launchColorPicker() {
val intent = Intent(Intent.ACTION_OPEN_EYE_DROPPER)
eyeDropperLauncher.launch(intent)
}

#Android #Android17
👍20👎7🤔3🔥1
🤖 Google анонсировали Automated Prompt Optimization (далее APO) для Vertex AI. Это будет полезно всем тем кто работает с on-device AI на Android

Если вы ещё не слышали про ML Kit Prompt API — это способ запускать Gemini Nano прямо на Android устройстве без обращения к серверу. Модель живёт в Android AICore как системный сервис, приложение просто отправляет промпт и получает ответ.

APO появился с целью настройки общей модели под конкретную задачу. Это облачный инструмент, который автоматически ищет оптимальный системный промпт для вашей задачи. Вы даёте примеры входных данных и ожидаемых ответов, Gemini Pro/Flash анализирует ошибки, генерирует десятки вариантов промптов параллельно и выбирает лучший. На выходе — просто текст промпта, который вы зашиваете в своё приложение.

Google утверждают, что это даёт📈 +5–8% к точности на реальных задачах: классификация, перевод, определения намерения.

Пока ML Kit Prompt API доступен только на ограниченном числе устройств, но направление очевидно — Google всерьёз строят экосистему on-device AI для Android-разработчиков

🔗 Источник - официальный блог Android Developers

#Android #AndroidDev #MLKit #GeminiNano #OnDeviceAI
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👎17👍8🤔74👌1
🤔 Рефакторить нельзя переписать

Работа с AI-агентами натолкнула меня на мысль, которую давно хотел сформулировать вслух. Когда перед тобой стоит задача — переход с View на Compose, смена архитектуры, миграция на KMP — первый инстинкт: «давай отрефакторим что есть». И вот тут я всё чаще останавливаюсь и задаю себе вопрос: а стоит ли?

Чтобы нормально рефакторить старый код — его нужно сначала покрыть тестами. Понять все сценарии. Убедиться, что после изменений всё ведёт себя так же. Это огромная работа, которую часто недооценивают, а то и вовсе перекладывают на регресс тестирование.

А что если написать рядом новый код по той же спецификации поведения, без груза старых ограничений. Запустил на двух устройствах, сравнил — и всё. Никаких «а вдруг что-то сломалось».

Агенты, кстати, это подтверждают 🤖 Они заметно лучше справляются с написанием нового кода по спецификации, чем с попыткой переписать существующий. Старый код накладывает ограничения. Новый — их снимает.

Мой подход сейчас такой:
👉 Простая библиотека или изолированный модуль → спокойно мигрируй постепенно
👉 Что-то сложное с бизнес-логикой → пиши рядом, потом подменяй импорты

💬 А вы как поступаете? Когда стоит задача миграции или переработки большого куска — рефакторите или пишете заново? Интересно услышать ваш опыт

#Архитектура #Рефакторинг
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41👎189🤔2
🤯 Конец Android View ближе чем кажется - в будущей версии Android Studio убирают поддержку превью для Custom View.

Источник - сайт Android Developers

#Android #AndroidDev #Compose #AndroidStudio
🤯99👎46🎉25👍16🔥13👌1
🛒 Google Play меняет свои правила после победы Epic Games

Ключевые изменения:
👉 Больше не будет форсирования оплаты цифровых товаров и подписок через Google Play

👉 Сторнние сторы получат возможности как у Google Play
Registered App Stores - официальная для программа для сторонних магазинов. Те кто решит пойти в программу поулчат сразу при установке все разрешения и опыт близкий к работе Gooogle Play Программа стартует за пределами США и только потом станет доступна там.

🪙 Снижение комисии магазина. Теперь процент зависит от разных факторов, но использовать Google Play Billing точно становится приятнее

💬 Как на ваш взгляд это повлияет на монетизацию разработчиков и возможности распространения приложения?

Источник - оф блог Android Developers

#GooglePlay
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍68🎉265👎3
🔨 В Android Studio новый проект можно создать полностью через AI, описав свою идею

Вышла Android Studio Panda 2, которая теперь позволяет создать проект без настройки каких-либо параметров — просто вводишь запрос. Всё работает на ⭐️ Gemini по умолчанию (но, возможно, настройка собственных моделей это меняет).

На самом деле стоит исследовать, будет ли такой опыт лучше, чем сделать то же самое другим инструментом и какой будет результат. Но кажется, что использовать Android Studio для вайбкодинга — это как стрелять из пушки по воробьям.

🔗 Источник - блог Android Developers, а больше подробностей в документации

#AndroidStudo #AI #Gemini
Please open Telegram to view this post
VIEW IN TELEGRAM
👎75👍17🤯11🔥7🤔5👏2
🛒 Google Play теперь предупреждает пользователей о приложения с высоким расходом батареи

Пользователи увидят красную плашку сразу в шапке страницы приложения в Google Play с предупреждением. Установка всё также будет возможна. Задача изменения - уведомление пользователей и попытка повилять на кол-во установок, чтобы пользователи сами решили всё.

Раскатка фичи началась с 1 марта 2026 года на приложения, которые были определены как "с высоким расходом батареи". В течении нескольких недель такая плашка появится на всех приложения в Google Play

Уже давно есть инструменты в Google Play консоле чтобы увидеть, что ваше приложение расходует много энергии или тормозит. Просто перестаньте игнорировтаь их.

🔗 Источник - блог Android Developers (там же набор рекомендаций по устранению проблем с расходом батареи)

#GooglePlay
Please open Telegram to view this post
VIEW IN TELEGRAM
👍45👎104
История из личного опыта: мой Pixel 9 Pro несколько месяцев жрал энергию как сумасшедший, не выдерживал день. Я уже думал менять телефон. Пришло обновление и всё поправилось. Будет ли тут честность и прозрачность? Конечно платформадеражтель не станет про своё так говорить, но как минимум про сторонние приложения уже станет понятнее. Мой опыт показал, что основной расход батарейки связан с системой, драйверами железами, встроенными приложениями. Google, займётесь этим?
👍46🤯9👎72🤔1