Android Broadcast
前往频道在 Telegram
Подборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab #MQRZR
显示更多📈 Telegram 频道 Android Broadcast 的分析概览
频道 Android Broadcast (@android_broadcast) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 14 549 名订阅者,在 技术与应用 类别中位列第 8 541,并在 俄罗斯 地区排名第 44 414 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 14 549 名订阅者。
根据 05 十月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 11,过去 24 小时变化为 5,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 39.00%。内容发布后 24 小时内通常能获得 22.17% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 5 672 次浏览,首日通常累积 3 224 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 28。
- 主题关注点: 内容集中在 api, kotlin, gradle, сборка, androiddev 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Подборка новостей и статей для Android разработчиков.
Реклама и связь с автором @ab_manager
РКН https://abdev.by/rkn_tg_ab #MQRZR”
凭借高频更新(最新数据采集于 06 十月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
14 549
订阅者
+524 小时
+267 天
+1130 天
帖子存档
14 550
🤖 В Android Bench добавили Claude Opus 5.5, GPT 6 Sol и GPT 6 Luna
Google обновила лидерборд LLM для Android-разработки в Benchmark 2.0. В нем решаются long-horizon задачи: сложные сценарии на несколько дней работы инженера, модели гоняют в агентах своих провайдеров (claude-code, Codex и т.д.).
Где оказались новинки:
🏆 Claude Opus 5.5 — 32,7% (claude-code)
🥈 GPT 6 Astra — 28,0% (Codex)
🥉 Claude Fable 5.1 — 22,7%
GPT 6 Luna показала всего 10,7% (Codex), зато прогон в среднем около $5 против $215 у Opus 5.5. Из первой десятки никто не показывает настолько дешевый результат.
Самая свежая модель Google - Gemini 3.8 Flash пока далеко от лидеров, но жду что покажет Gemini 4 Argon.
🔗 Android Bench
#Android #AI #AndroidBench
14 550
Repost from Кирилл Розов
Разыгрываю 2 билета на Podlodka AI Crew
Условия
- Подписаться на @rozov_blog
- Подписаться на @android_broadcast
- Быть подписанным на оба канала на момент подведения итогов
Итоги подведу 11 октября в 10:00 по Минску
14 550
Repost from Кирилл Розов
🐱 Релиз Maven MCP 1.0. Агент сам смотрит актуальные версии зависимостей и что в них поменялось
Буду очень признателен если поставите звездочку на репозитории, что поддержит меня и замотивирует дальнейшее развитие проектаОдна из проблем при работе с Gradle-проектами через AI-агентов: они ничего не знают про актуальные версии зависимостей, что в них поменялось и насколько безопасно это подключать. Баги, CVE, сломанная совместимость с AGP или Kotlin. Версию модель берёт из обучающих данных, а потом это приходится перепроверять руками. Готового решения, удовлеторяющее моим требованиям, не нашёл, поэтому сделал свой Maven MCP. Это плагин для Claude Code, Grok Build, Cursor и Codex, а также есть возможность подключить как MCP в любой агент. Внутри один Python-сервер на стандартной библиотеке, без pip-зависимостей. Версии смотрит в репозиториях, которые объявлены в билде, а не только в Maven Central. Gradle сканирует через wrapper и runtime classpath, Maven читает pom.xml, version catalog тоже. Что агент теперь может сделать сам: 👉 Узнать последняя стабильная версия, а не альфа с максимальным номером 👉 что изменилось между двумя версиями: AndroidX, AGP, GitHub releases, CHANGELOG 👉 CVE через OSV, включая путь до транзитивной уязвимости 👉 совместимость AGP, Gradle, JDK, Kotlin 👉 конфликты версий, лицензии, EOL у JDK, Kotlin, Gradle и Spring Boot 👉 нормальная запись в libs.versions.toml Перед правкой зависимости хук проверяет координаты и насколько безопасно подключить его (через хуки в плагинах). 🐱 Исходники на GitHub
Ранее Maven MCP жил в другом GitHub репо, но к релизу 1.0 выделил его в отдельный репозиторий#AI #Gradle #Maven #MCP
14 550
🤖 Библиотека Android скиллов для AI-агентов расширяется и пополняется новыми. Там однозначно есть полезные вещи для решения отдельных задач, но в регулярной работе вам они, скорее всего, не пригодятся. Вот что могу посоветовать:
👉 Make App Adaptive — сделать UI приложения адаптивным. Не старайтесь делать сразу всё приложение, а делите его на зоны и начните с той, что попроще.
👉 Adopt Compose Style — перевести UI на Compose, чтобы использовать Style API (улучшает производительность работы UI).
👉 Make app edge-to-edge — добавить поддержку edge-to-edge отображения экранов приложения.
👉 Use Android profilers — запись и анализ данных о качестве работы.
👉 Audit Play policy compliance — проверить, что ваше приложение соответствует политикам Google Play.
👉 Set up testing strategy — настроить стратегию тестирования функционала Android-приложения.
ВАЖНО! Скилл полезен, но его эффект зависит от вашего уровня мастерства, а также на результат может повлиять ваш харнесс и контекст сессии. Будьте внимательны с вызовом стороннего скиллаСкиллы можно установить как плагин к агентам или использовать через поиск в Android CLI. 🐱 Android Skills Github #Android #AndroidDev #AI
14 550
🤖 Вышла первая Beta Android 17 QPR3. Кроме багофикса и патчей безопасности больше ничего не добавили. Поставить уже сейчас могут владельцы Pixel
#Android #Android17
14 550
🤖 Android Device Streaming теперь в Android CLI
Android CLI - терминальная утилита от команды Android из Google для более эффективной работы агентов с Android задачами
Android Device Streaming - облачная ферма устройств от Firebase (Google)#Android #AndroidDev #AI #CLI
14 550
🔨 Вышла стабильная Android Studio Rabbit 1 (2026.2.1)
Что нового:
👉 Из Generate Signed App Bundle можно сразу залить билд в тестовые треки Play Console. В том числе первый релиз нового приложения во внутренний трек
👉 Gemini в Studio теперь можно гонять в корпоративном Google облаке, а внутри вашего Google Cloud проекта: свой VPC, регион данных и счёт компании (нужна подписка Gemini Enterprise)
👉 Параллельная синхронизация: на Gradle 9.4+ при
org.gradle.tooling.parallel=true Studio по умолчанию тянет модели IDEA параллельно — Gradle Sync в больших мультимодульных проектах заметно быстрее
🔗 Подробнее
https://androidstudio.googleblog.com/2026/10/android-studio-rabbit-1-now-available.html
#AndroidStudio #AndroidDev #GooglePlay14 550
👨🏻💻 Строим мультиагентные системы для разработки на Podlodka AI Crew
Инженерные задачи редко состоят из одного действия.
В традиционной разработке их распределяют между специалистами. Мультиагентный подход переносит эту логику в ИИ: вместо одного исполнителя работают несколько виртуальных агентов. Как построить такую систему и сделать её эффективной?
Эксперты Podlodka AI Crew ответят на этот вопрос в новом сезоне «Мультиагентные системы» с 12 по 16 октября. Генеральный партнёр — RWB.
Что узнаете:
🧩 Как построить внутреннюю ИИ-платформу разработки
🧠 Как устроен «мозг» агента
🔄 Как убрать себя из агентского цикла с помощью оркестрации
🏭 Как построить «завод» из ИИ-агентов с узкими задачами
🔍 Как быстро находить ошибки и не тратить лишние токены
Формат: онлайн, 5 дней, утренние и вечерние сессии в Zoom. Много практики и обсуждений в закрытом Telegram-канале. Цена ниже привычных конференций.
🎟 Промокод
AI_BROADCAST — скидка на сайте
#реклама14 550
📹 День, когда сайдлоадинг остановился. Google запустила верификацию разработчиков при установке приложений на сертифицированные Android смартфоны.
В видео разбираю подробности и эффект первой волны, ну и конечно же делюсь своим мнение касательно хорошей затеи во во славу безопасности пользователей!
📹 Смотреть на YouTube
#AndroidBroadcast #Android
14 550
‼️NoOp — удобный способ отключить API в релизных сборках без усложнения кода
Отладочные инструменты часто вызываются из
src/main: логирование экрана, свой интерцептор OkHttp. По умолчанию такой код попадает в релиз, а пользователю он не нужен. Чтобы оставить его только в отладочных сборках, обычно прячут каждый вызов под if (DEBUG), разносят сами вызовы по разным src или заводят плагинную архитектуру.
NoOp проще. Две реализации одного публичного API: одна рабочая, вторая с теми же методами, но без работы. Вызов в общем коде не меняется, в релизе он ничего не делает. По исходникам разделяется только место, где создаётся реализация.
interface ScreenTracer {
fun trace(screen: String)
object NoOp : ScreenTracer {
override fun trace(screen: String) = Unit
}
}
// src/release
fun createScreenTracer(): ScreenTracer = ScreenTracer.NoOp
// src/debug. Этот класс в release не попадает.
fun createScreenTracer(): ScreenTracer = DebugScreenTracer()
class DebugScreenTracer : ScreenTracer {
override fun trace(screen: String) {
Log.d("Screen", screen)
}
}
class AppContainer(
val screenTracer: ScreenTracer = createScreenTracer(),
)
// Одна и та же строка в debug и в release
screenTracer.trace("Checkout")
Пример маленький, но так же собираются целые модули. Правила те же:
1. Публичное API совпадает целиком: те же типы, методы и сигнатуры.
2. Если метод что-то возвращает, NoOp отдаёт нейтральное значение, от которого дальше ничего не запускается: null, пустую коллекцию, константу DISABLED, -1.
3. Методы NoOp не делают работу: не пишут логи, не ходят в сеть, не держат состояние.
// Подключение зависимостей с разной реализацией
debugImplementation(project(":lib:debug"))
releaseImplementation(project(":lib:noop"))
Оба модуля отдают одни и те же публичные типы. В сборку попадает один из них.
NoOp можно сочетать с вырезанием кода на этапе R8, чтобы в релизе не осталось даже заглушки. Если пост наберёт 200 лайков❤️ , разберу, как совместить оба подхода.
#Android #AndroidDev #Архитектура14 550
🛒 Google Play расширяет типы подписок: множество получателей подписки, метр для AI и смешанная корзина
В блоге Android Developers рассказали про большой пакет обновлений по Google Play Billing, который будет раскатываться постепенно.
Из уже доступного всем явно называют только In-App Messaging API: всплывающие уведомления внутри приложения, чтобы починить отклонённую карту или предупредить о смене цены подписки.
Все анонсы связаны с изменением способов продажи. Изменения направлены на удобство пользователей и повышение доходов разработчика.
👉 Multi-Quantity — покупаешь несколько копий подписок один раз и можно раздать их семье, команде или студентам. Это то, чего B2B и EdTech на Play не хватало годами.
👉 Usage-Based Billing — предоплата + автопополнение, когда баланс падает ниже порога. Направлено на тип "Pay as You Go", например, генерация картинок/видео. Также убирает зависимость от платёжки картой и в теории должно повысить процент успешного оформления.
👉 Mixed Carts — подписка и one-time purchase в одной оплате и одном API-вызове. Можно добавлять скидку, если берут бандл.
👉 Cross-Developer Bundling — связка двух подписок, в том числе с чужим приложением. Коллабы становится делать выгоднее.
#Android #AndroidDev #GooglePlay
14 550
🤖 Обновленный гайд по поиску лагов UI в Android
Показано как искать проблемы на версиях Android с 12 и выше, а также на Android 11, Android 10 и ниже. Разница вызвана тем, что внутри ОС защиты разные инструменты для анализа.
#Android #AndroidDev #Оптимизация #UI
14 550
🤖 Google прокачала Wi-Fi дебаг в Android 17 и вот как
Google выкатил ADB Wi-Fi 2.0 в Android 17: новый mDNS-стек вместо Bonjour и старого mDNS, плюс
adbd сам гасит wireless debugging на недоверенной сети и поднимает обратно, когда ты снова дома.
Что стало лучше (цифры от Google)
👉 скорость автоконнекта +32%
👉 скорость коннекта увеличилась на 66% на 90% сессий
На практике важнее другое. В Device Manager устройство появляется само, если на телефоне включён Wireless debugging. QR или код, без ручного IP.
Чтобы это работало надо использовать:
👉 Девайс на Android 17 или новее
👉 Android Platform-Tools 37.0.0 или новее
👉 Android Studio Quail 3 или новее
Я пользуюсь отладкой по беспроводу и это удобно, но ВАЖНО иметь хорошую точку доступа (точно 5 или 6 GHz) с высокой скоростью, иначе все ускорения коту под хвост.
🔗 Документация
📹 Доклад на Android Makers 2026
#Android #AndroidDev #Tooling #AndroidStudio14 550
🤖 Android Dev Summit возвращается! Конференция от Google про Android для разработчиков снова пройдет в конце октября 2026! Уже есть расписание
#Android #AndroidDev #AndroidDevSummit
14 550
🚀 Вышел WorkManager 2.12.0
👉 Новое экспериментальное Work Metrics API для изучения истории выполнения задач.
@OptIn(ExperimentalWorkMetricsApi::class)
suspend fun dumpSyncMetrics(repo: WorkMetricsInfoRepository) {
val query = WorkMetricsQuery.Builder()
.addWorkerClassNames(SyncWorker::class.java.name)
.addTags("sync")
.setBeginTimeMillis(...)
.build()
repo.getWorkMetricsInfos(query).forEach { info ->
Log.d(
"WM",
"${info.workerClassName} " +
"state=${info.state} " +
"attempts=${info.runAttemptCount} " +
"retries=${info.explicitRetryCount} " +
"worker=${info.workerDurationMillis}ms " +
"total=${info.totalRuntimeMillis}ms " +
"stops=${info.stopReasonCounts}"
)
}
}
👉 Новое экспериментальное API для слежения за событиями разных Work
// ExecutionEventListener — все 4 метода abstract
// cheduleEventListener — default, можно повесить только нужные.
@OptIn(ExperimentalEventsApi::class)
class WorkTelemetry : ExecutionEventListener, ScheduleEventListener {
override fun onStarted(workInfo: WorkInfo) {
Log.d("WM", "start ${workInfo.id} ${workInfo.workerClassName}")
}
override fun onFinished(result: ListenableWorker.Result, workInfo: WorkInfo) {
Log.d("WM", "finish ${workInfo.id} $result attempts=${workInfo.runAttemptCount}")
}
override fun onStopped(stopReason: Int, workInfo: WorkInfo) {
Log.d("WM", "stop ${workInfo.id} reason=$stopReason")
}
override fun onException(throwable: Throwable, workInfo: WorkInfo) {
Log.e("WM", "crash ${workInfo.id}", throwable)
}
override fun onEnqueued(workInfo: WorkInfo) { }
override fun onUnblocked(workInfo: WorkInfo) { }
override fun onUpdated(oldWorkInfo: WorkInfo, updatedWorkInfo: WorkInfo) { }
override fun onCancelled(workInfo: WorkInfo) { }
override fun onPrerequisiteFailed(workInfo: WorkInfo) { }
}
Что еще поменялось
👉 minSdk 23 -> 24 (Android 7.0 теперь минимум)
👉 дефолтный executor теперь Dispatchers.Default вместо собственного. Все также можно переопределить
🛠 Исправление багов и улучшение производительности
#Android #AndroidDev #WorkManager #AndroidJetpack14 550
🚀 Вышел androidx.navigation3 1.2.0. И этот как раз допил того, что надо в реальных кейсах навигации.
Три вещи, ради которых имеет смысл обновиться:
👉 Передача результатов между экранами. Больше не надо городить SharedViewModel или колбэки через хост. Обмен происходит через шину
ResultEventBus. Для сценариев «выбрал и вернулся» это как раз то, чего не хватало.
NavDisplay(
backStack = backStack,
onBack = { backStack.removeLastOrNull() },
entryDecorators = listOf(
rememberSaveableStateHolderNavEntryDecorator(),
rememberResultEventBusNavEntryDecorator(),
),
entryProvider = entryProvider {
entry<Home> {
val viewModel = viewModel<HomeViewModel>()
ResultEffect<Address> { address ->
viewModel.onAddressSelected(address)
}
HomeScreen(
address = viewModel.address,
onPickAddress = { backStack.add(AddressPicker) },
)
}
entry<AddressPicker> {
val resultBus = LocalResultEventBus.current
AddressPickerScreen(
onSelected = { address ->
resultBus.sendResult(address)
backStack.removeLastOrNull()
},
)
}
},
)
👉 Поддержка KMP Deep Link API в androidx.navigation3.runtime.deeplink
👉 Упростили работы с Predictive back gesture в Android. Теперь не придется высчитывать дельту самостоятельно
#Compose #JetpackCompose #Navigation314 550
🚀 Google готовит библиотеку AndroidX Backup Test (пока только первая альфа) для тестирования переноса аккаунта между девайсами, которое становится обязательным в Google Play
// Пример теста на JUnit 5
@ExtendWith(BackupRestoreExtension::class)
@BackupRestoreConfig(applicationId = "com.example.app")
class BackupRestoreTest {
@Test
fun prefsSurviveCloudRestore(
controller: BackupRestoreController,
@TempDir outputDir: Path,
) = runBlocking {
controller.runBackupRestoreFlow(
storage = StorageDomain.Preference("user_prefs"),
outputDir = outputDir,
mode = BackupTransportMode.CLOUD_ENCRYPTED,
)
}
}
#Android #AndroidDev #AndroidJetpack #Backup #Тестирование14 550
🐘 Вышел Gradle 9.8
Что нового
👉 Поддержка Java 27
👉 Улучшили отображение ошибок в логах
👉 Прокачали скорость работы на отдельных Windows компах
🛠 Исправление багов
#Gradle
