tgindex
Android Broadcast

Android Broadcast

Статистика

Подборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab #MQRZR

Последний пост
08:36
Последнее чтение
11:39
Постов за неделю
18
Всего постов
526
Тип
открытый
Язык
русский
Категория
Технологии
В каталоге с
12 авг.
Подписчики
14 540
−10 за 5 дн.
Сутки
+1
+0,01%
Неделя
 
Месяц
 
Просмотров на пост
4 615
40 постов
Вовлечённость
31,7%
к подписчикам
Постов в день
2,6
всего 526
Упоминаний
18
каналов
Охват размещения
по 5 постам
1/24сутки в ленте
3 210
1/48двое суток
3 654
1/72трое суток
3 940

Медиана по постам, которые мы застали свежими и померили через сутки.

Посты

  • 08:362 197369

    🐱 DI Yatagan 2.0.0 RC: можно попробовать без переписывания Dagger-вызовов Яндекс выкатил первый мажор своего DI-фреймворка. Основное: 👉 Единый backend-agnostic Yatagan entry point в api-public. Reflection или codegen подхватываются автоматически, имплементация с генерацией кода имеет приоритет. 👉 Экспериментальный Dagger compatibility mode. Включаешь yatagan.experimental.enableDaggerCompatibility и Yatagan генерит DaggerMyComponent фасады. Старые DaggerMyComponent.create() / .builder() продолжают работать. Поддерживается ядро (components, modules, scopes, multibindings, assisted), без Hilt/Android/producers. 👉 Conditions API почистили: legacy @Condition/@AnyCondition deprecated в пользу @ConditionExpression, @Provides(Conditional(...)) → отдельный @Conditional на методе. 👉 Runtime-конфиг стал declarative (processor options + parameters.properties), убрали глобальный mutable state. Есть подробный migration guide и даже скилл для агента: npx skills add yandex/yatagan Это RC. Compatibility mode экспериментальный — граф лучше провалидировать. Но для тех, кто уже страдает от Dagger на больших проектах и смотрел в сторону Yatagan, порог входа заметно снизился. 🔗 Release Notes #Android #AndroidDev #DI #Яндекс

  • 15 авг.4 06319051

    Ты не пройдешь! Сказал Джейк Вортон всем LLM для контрибьюта в OkHttp, Okio, Retrofit и SQLDelight библиотеки. Пока не рассказали как будет определяться, что код или PR от LLM, но война объявлена. Так же непонятно какие будут последствия для тех кто попробует что-то зарепортить или влить с LLM. Как вы оцените такой подход авторов популярного Open Source?

  • 15 авг.3 2091934

    100M бесплатных токенов GLM-5.3 в ZCode на выходные Новые пользователи ZCode, которые залогинятся впервые в окне 16 августа 00:00 — 17 августа 09:00 (UTC+8), автоматически получают 100M токенов GLM-5.3. Только для ZCode, количество ограничено. ZCode — это их agentic IDE, заточенная под GLM-5.3 (1M контекст, long-horizon задачи, tool use). Модель сильно прокачала по сравнению с 5.2 для кодинга и уменьшили расход токенов! Если хотел пощупать GLM-5.3 на реальном проекте без подписки — сейчас самое время. После окна бесплатный объём закончится. #AI #ZCode #GLM

  • 14 авг.3 8762435

    🚀 Вышел AndroidX WebKit 1.17.0 — обновленная навигация и контроль над кэшем Самое полезное в новом минорном релизе: 👉 WebViewCompat.navigate наконец-то нормальная замена loadUrl. Можно заменять страницу в истории, получать объект Navigation и корректно сохранять/восстанавливать заголовки. Для приложений, где WebView — не просто «открыть ссылку», а нормальный флоу, это давно было нужно. if (WebViewFeature.isFeatureSupported(WebViewFeature.WEBVIEW_NAVIGATE_EXPERIMENTAL_V1)) { val params = NavigationParameters.Builder() .setShouldReplaceCurrentEntry(true) // заменяет текущую запись в истории .addAdditionalHeader("X-Custom-Header", "value") .build() val navigation: Navigation = WebViewCompat.navigate(webView, "https://example.com", params) // navigation можно потом матчить в NavigationListener } 👉 Контроль HTTP-кэша через Profile.getHttpCache. Можно посмотреть квоту и при необходимости подкрутить. Полезно, если много статики, или наоборот — когда кэш только место жрёт. if (WebViewFeature.isFeatureSupported(WebViewFeature.HTTP_CACHE_MANAGER)) { val profile = ProfileStore.getInstance().getOrCreateProfile("my_profile") val httpCache = profile.httpCache // или profile.getHttpCache() // Посмотреть текущую квоту val currentQuota = httpCache.quotaBytes val defaultQuota = httpCache.defaultQuotaBytes val isDefault = httpCache.isUsingDefaultQuota // Задать свою квоту (например, 50 МБ) httpCache.setQuotaBytes(50L * 1024 * 1024) // Или вернуть автоматическое управление // httpCache.useDefaultQuota() } 👉enqueuePreconnect — можно заранее поставить preconnect в очередь, не заставляя WebView стартовать прямо сейчас. 👉 Можно отключить автоматическую загрузку фавиконок (setDownloadFaviconsEnabled). Мелочь, но экономит память и трафик, особенно если иконок много. 👉 Плюс Android Lint, который теперь ругается, если кастомный WebViewClient не переопределил onRenderProcessGone. Полезно, потому рендерер падает регулярно. 🔗 Подробности релиза #Android #AndroidDev #WebView #AndroidJetpack

  • 14 авг.3 7333713

    🚀 Обновление AndroidX Fragment Вышел androidx.fragment:fragment-*:1.9.0. Три изменения, которые реально заметны: 👉 Fragment теперь реализует ContextAware. Можно повесить OnContextAvailableListener и выполнить код в момент, когда контекст стал доступен (аналог того, что давно есть у Activity). 👉 У composable AndroidFragment {} появился параметр maxLifecycle. Можно жёстко ограничить lifecycle вложенного фрагмента — удобно в пейджерах, табах и других сложных UI, где не хочется, чтобы offscreen-фрагмент уезжал в RESUMED. 👉 Добавили system tracing lifecycle-событий через Jetpack Tracing. В Perfetto теперь видно, что происходит с фрагментами. Плюс куча фиксов predictive back и setMaxLifecycle + popBackStack, которые тянулись с 1.8.x. Если живёте на Fragment + Compose interop — обновляться имеет смысл. Чистый Compose-проект может спокойно пропустить. #Android #AndroidDev #Jetpack #Fragment

  • 14 авг.3 8612041

    🚀 Вышел AndroidX Tracing 2.0.0 — серьёзный апгрейд трейсинга Tracing - это инструмент для низкооверхедного in-process трейсинга — записи временных срезов выполнения кода прямо внутри процесса приложения. Полезен, когда нужно: 👉 понять, где именно тормозит код (особенно в корутинах); 👉 собирать детальные трейсы в поле / на проде, а не только в Studio; 👉 инструментировать библиотеки без жёсткой привязки к Android; 👉 потом мёржить эти трейсы с системными (Perfetto). Особенно пригодится: 👉 Android-разработчикам, которые занимаются перформансом; 👉 авторам библиотек (в т.ч. KMP); 👉 командам с тяжёлым использованием корутин; 👉 тем, кто пишет бенчмарки (хорошо дружит с AndroidX Benchmark 1.5+). Выход 2.0 обусловлен полностью новым API и архитектурой работы: 👉 Появился полноценный in-process tracing с собственным буфером (не зависит от system trace buffer). 👉 Новая модель: TraceDriver + Tracer + TraceSink (можно подключать свои бэкенды). 👉 Настоящая поддержка корутин с отслеживанием suspend/resume и переключений потоков. 👉 Поддержка KMP (Android + JVM). 👉 Существенно ниже оверхед по сравнению со старым android.os.Trace / trace {}. Старый API не deprecated его по-прежнему рекомендуют для редких критичных событий, которые обязаны попасть в system trace. 🔗 Полные release notes по ссылке #AndroidDev #Perfromance #AndroidJetpack

  • 13 авг.4 1752934

    🤖 Kimi K3, GPT 5.6, Qwen3.8 Max и OPUS 5 добавили в результаты официального AI Android Бенчмарка Как поменялся рейтинг? 🏆 Claude Opus 5 новый лидер с результатов 91.8%. Прошлый лидер Fable 5 был с результатов 90.9%. По цене Opus вышел дороже 🥉 GPT 5.6 Sol попал на 3 строку с результатом 90.8% ‼️ На 4 месте расположился Kimi K3 с результатов 90.2% 👉 GPT 5.6 Luna показала результат 86.8% но при этом стоимость указана 7.2$ 🤯 (кажется тут закралась ошибка все верно и это шок по эффективности) 👉 GPT 5.6 Terra набрала 86.8% потратив 48$, что сейчас точно является лучшим показателем в соотношение результата на затраченный 1$. 🤔 Qwen3.8 Max показал достойные 87.0% но при этом потратил больше всех моделей - 196.7$ Бенчмарк все также игнорирует Grok и Compose модели 😡 Что-то не так в отношениях между компаниями Google и Илоном - загадка UPD Kimi K3 не считается открытой моделью, что неверно. Изначально веса были закрыты и потом открываются. Видно в бенч попадают данные на момент запуска проверки модели. #AI #Android #AndroidDev

  • 13 авг.3 511261

    ОПРОС Расскажите, с какими трудностями в работе с AI вы сталкиваетесь Привет. На связи Кирилл Розов, создатель и автор проекта Broadcast. Современная разработка всё больше сдвигается от изучения API и библиотек к методологии разработки и архитектуре. Когда говорим про работу с AI, её все понимают по-разному и выполняют различные задачи с её помощью. Чтобы делать для вас полезный контент и понять текущий статус погружения в AI в сообществе Broadcast, я искренне прошу вас пройти опрос. Он займёт не больше 5 минут у вас, а мне поможет лучше понять ваши запросы. Спасибо! 👉 Пройти опрос тут Большое спасибо за потраченное время

  • 13 авг.4 09711

    У вас есть проблемы со скоростью работы UI на Compose в Android?

  • 13 авг.4 1416324

    🤖 Каждый раз, открывая новое приложение, я надеюсь на ту самую магию, когда одноразовый код авторизации сам считывается из пуша и подставляется в нужное поле. Но зачастую приходится разочароваться 🥲 В реальности этот UX сейчас стремительно деградирует, и виноват в этом не столько бэкенд приложений, сколько экономика и архитектурная слепота Google в Android. Причина на поверхности — стоимость отправки классических SMS для бизнеса выросла настолько, что мобильная связь как канал верификации уходит на второй план. Практически любой крупный ритейлер, банк или сервис сегодня используют каскадную доставку: код сначала летит вам пушом (потому что бесплатный), потом в Telegram, WhatsApp, Viber, и только в крайнем случае — в старую добрую сим-карту. Бизнес банально экономит бюджеты. И на этом фоне анонсы Android 17 выглядят как привет из прошлого века. Google тратит колоссальные ресурсы на то, чтобы заделать дыры в безопасности SMS, полностью игнорируя тот факт, что коммуникация людей и брендов давно переместилась в мессенджеры. В новой версии ОС вводится жесткая трехчасовая задержка на доступ к входящим SMS с OTP-кодами для обычных приложений, чтобы защитить пользователей от троянов-перехватчиков. Разработчикам безальтернативно говорят: используйте нативный SMS Retriever API, который автоматически парсит сообщения по специальной хэш-подписи. Но это лечит симптомы старой болезни. Даже с SMS этот API внедрили далеко не все, потому что поддерживать уникальные хэши под разные сборки на бэкенде — та еще головная боль. А для мессенджеров никакого аналога просто не существует. В итоге мы упёрлись в глухой тупик для UX: 👉 Если код авторизации пришел в Telegram, ваше приложение не может перехватить его легально. 👉 Пытаться читать пуши сторонних приложений через NotificationListenerService в Google Play строго запрещено — за это прилетает моментальный бан. 👉 Никакого доверенного и безопасного NotificationRetrieverAPI для мессенджеров Google не предлагает. Пользовательский опыт в Android не развивается в соотвествии с трендами. Пользователь вынужден совершать кучу лишних движений: свернуть экран, открыть мессенджер, скопировать код, вернуться и вставить его руками. Пока Apple в iOS пытается развивать автоподстановку кодов из встроенной почты и системных уведомлений, Android-разработчики остаются заложниками ситуации, где безопасность SMS доведена до стерильности, а реальные сценарии из жизни брошены на произвол судьбы. Готовимся к тому, что процесс авторизации в приложениях на Android 17 станет еще чуть более «ручным». #Android17 #AndroidDev #UX #Безопасность

  • 12 авг.3 640708из rozov_blog

    Почему кастомные уведомления в Android — это одно из худших решений Google Каждый раз, когда вижу в шторке уведомление с собственным UI через RemoteView, у меня дергается глаз. Это не просто вопрос эстетики, это техническая проблема. Главная беда в том, что инструментов для адаптации кастомной верстки под все версии Android и оболочки (MIUI, OneUI, ColorOS и т.д.) практически не существует. То текст налезет на иконку, то кнопки съедут, то фон не тот. В итоге страдает пользователь, который думает, что «Android — это криво», хотя виноват конкретный разраб, решивший поиграть в дизайнера. Я считаю, что Google должен ужесточить политику: разрешить встраивание только через заранее определенные шаблоны (BigPicture, Messaging, Progress). Если приложение подает кастомный View — система должна отклонить такое уведомление. Знаю, что это ударит по небольшому числу приложений, но недавний пример с Я Go вселяет надежду. На Android 17 они перешли на Ongoing Notification со стандартным стилем, и жить стало лучше. Я за то, чтобы в Android 18 эту возможность просто отрубили на уровне системы. Меньше свободы — больше стабильности и удобства! 💬 Что вас раздражает в Android как пользователя?

  • 12 авг.3 8246027

    без подписи

  • 12 авг.3 8545133удалён 14 авг.

    ⚠️ Google меняет правила установки приложений на Android С сентября на сертифицированные телефоны можно будет ставить приложения только от проверенных разработчиков. Звучит страшно, но в блоге SafeMobile как раз всё разложили по полочкам, а именно: 🔹 Чем верификация разработчиков отличается от Play Protect; 🔹 Когда и в каких странах ее включают — и когда очередь дойдет до России; 🔹 Что будет с корпоративными устройствами под MDM (спойлер: для них Google сделал исключение); 🔹 Сработают ли обходные пути вроде ADB и «расширенного режима» на служебном парке. Что действительно изменится для корпоративного Android, а о чём пока можно не беспокоиться — разбирают в статье на Хабре 📱 @safemobile_ru #реклама

  • 12 авг.4 5894751

    без подписи

  • 12 авг.4 4606919

    без подписи

  • 11 авг.5 4283516

    12–13 сентября в Москве и онлайн пройдёт E-CODE 2026 — ежегодная конференция от инженеров Ozon Tech. Главное, что отличает её от многих других, — программа строится вокруг реальных инженерных задач, а не вокруг трендов ради трендов. В этом году сделали отдельные хардовые треки, и один из ключевых — Mobile. Рядом идут backend (Go, C#, Java), ML/DS, инфраструктура, QA Auto и информационная безопасность. Спикеры будут как из Ozon, так и из других компаний. Для мобильных разработчиков это интересно по нескольким причинам. 👉 Во-первых, Ozon — это высоконагруженный e-com с огромным Android-приложением, и инженеры, которые его пилят, обычно рассказывают не «как мы внедрили Compose», а про конкретные боли масштаба: производительность, архитектурные компромиссы, работу с данными, поддержку разных устройств и всё то, с чем сталкиваешься, когда пользователей миллионы. 👉 Во-вторых, в программе не только мобильный трек. Можно послушать, как устроена инфраструктура и бэкенд, от которых зависит мобилка, или заглянуть в ML/DS — темы, которые всё чаще пересекаются с клиентской разработкой. В эпоху ИИ кодинга смотреть на треки по другим специальностям полезно как никогда! Помимо технических докладов будут выступления учёных и топ-менеджеров — блок «жизнь и наука». Это те разговоры, которые иногда дают больше, чем очередной разбор архитектуры: про подходы к сложным системам, про то, как думают за пределами конкретного стека. Ещё один важный слой — живое сообщество. Неформальный нетворк в оффлайне, возможность пообщаться с инженерами из других компаний и из самого Ozon Tech, позадавать вопросы вживую. Для тех, кто давно работает в своей команде и редко выходит «наружу», это часто оказывается самой ценной частью. Формат удобный: офлайн в Loft #8 в Москве или онлайн с трансляцией и возможностью задавать вопросы. После конференции материалы и записи обещают разослать всем зарегистрированным. Если интересно послушать, как решают задачи мобильной разработки в большом масштабе, и при этом не ограничиваться только своим стеком, — имеет смысл заглянуть в программу. Подробности и регистрация на сайте. #Конференция

  • 11 авг.5 0899023

    🛒 В Google Play появился первый сторонний магазин 🤯 Решение было вынужденное по сделке с Epic Games 💬 Ждем RuStore? #GooglePlay

  • 10 авг.5 68082141

    без подписи

  • 10 авг.5 4995247

    В Gradle 9.7.0 официально вывели Isolated Projects из экспериментального статуса в incubating. Для Android-разработчиков, особенно тех, кто живёт в больших мультимодульных проектах или монорепах, это одна из самых заметных новостей последних релизов. Суть простая и одновременно радикальная. Раньше конфигурация проектов в Gradle шла последовательно: один модуль за другим, и каждый мог свободно лезть в состояние соседей. В больших сборках (тысячи модулей) это превращалось в минуты ожидания просто на этапе конфигурации — и при синхронизации Android Studio, и при обычном ./gradlew. Isolated Projects вводит жёсткие границы: во время конфигурации проект больше не может трогать изменяемое состояние другого проекта, например добавить зависимость или сделать конфигурацию плагина. Благодаря этому Gradle наконец-то может конфигурировать модули параллельно, используя все доступные ресурсы компьютера. Цифры из блога Gradle довольно красноречивые. На собственном 300-модульном билде Gradle медианный IDE-sync ускорился с 84 до 47 секунд. На Android-монорепе больше чем с 5000 проектов синхронизация Android Studio упала с 5 минут 9 секунд до 2 минут 44 секунд (почти в два раза). Репозиторий AndroidX тоже показал ощутимый выигрыш. Причём это только начало: изоляция открывает дорогу к выборочной конфигурации (конфигурировать только те проекты, которые реально нужны для текущей задачи) и к более тонкому кэшированию результатов конфигурации. Интересно, что такой подход уже давно является нормой в других системах сборки. Bazel и Buck изначально проектировались вокруг изоляции: пакеты/таргеты максимально независимы, конфигурация декларативная, параллелизм — естественное следствие. Gradle исторически шёл другим путём — максимальная гибкость и возможность писать почти любой императивный код в build-скриптах, что в итоге сыграло против него. Isolated Projects — это попытка взять лучшее из обоих миров: сохранить привычную модель Gradle, но добавить те самые границы, которые позволяют масштабироваться. Адаптация проекта для Isolated Project Чтобы адаптировать свой проект сначала нужно, чтобы сборка уже нормально работала с Configuration Cache, Isolated Projects строится поверх него строится. Дальше в gradle.properties добавляете: org.gradle.isolated-projects=true После включения Gradle начнёт падать на любом нарушении изоляции (если не станет - вы мастер конфигурации). Чаще всего это: - доступ к изменяемому состоянию другого проекта (rootProject.version, project(":other").tasks и т.п.); - использование allprojects / subprojects с мутациями; - плагины, которые регистрируют задачи или расширения «через границу» проекта. Исправляется это в основном переносом общей логики в convention плагины, использованием project.isolated для безопасного чтения данных и lifecycle-колбэками из settings. Есть diagnostics-режим, который помогает найти все нарушения, и даже «dangerously ignore problems», если хочется сначала просто замерить прирост производительности. Команда Gradle плотно работала с Google и JetBrains, поэтому Android Gradle Plugin и Kotlin Gradle Plugin уже поддерживают изоляцию (на свежих версиях). KSP тоже умеет — нужно только включить ksp.project.isolation.enabled=true. Официальный пример Now in Android уже приведён в совместимое состояние. С комьюнити-плагинами ситуация разношёрстная. Многие уже адаптированы (Apollo, Wire, Firebase Crashlytics/Perf, Dependency Analysis и другие). Некоторые всё ещё ломаются или требуют костылей: Spotless часто приходится условно отключать, Gradle Doctor, SKIE и часть Kotlin Multiplatform (особенно WASM/JS) пока в красной зоне. Если ваш плагин падает, то лучшее, что можно сделать, это создать issues или найти уже открытое. Актуальный статус поддержки Isolated Project в Gradle плагинами есть на сайте (спасибо Никите К. за ссылку)? Станет ли это обязательным? В ближайшее время нет. Фича incubating, по умолчанию выключена и официально не рекомендуется для продакшен-артефактов. Gradle явно говорит, что собирается стабилизировать Isolated Projects и в конечном итоге сделать их режимом по умолчанию, но конкретных сроков нет. На мой взгляд, раньше выхода Gradle 11 это не состоится, потому что очень много правок надо сделать по всей экосистеме Gradle. Пока это инструмент для тех, кто готов инвестировать время в миграцию ради заметно более быстрой синхронизации и конфигурации. Если у вас большой Android-проект и синхронизация уже начала раздражать — имеет смысл попробовать. Даже если прямо сейчас не всё идеально, направление понятно: Gradle медленно, но верно уходит от «всё можно менять отовсюду» к модели, в которой проекты действительно изолированы. А это именно то, что нужно монорепам и большим мультимодульным сборкам. #Gradle

  • 10 авг.5 080173

    От табуретки до кибер-трона: -25% на мечты 🚀 Помните, как в школе мы сидели за деревянными партами и стульями? Теперь, когда технологии везде — пора окружать себя комфортом, который не даёт спине скучать по школьному «удобству». 🎓 Эргостол запускает акцию «Эргономика новых знаний». С 10.08 по 23.08 можно урвать скидки до -25%. 🔥скидки суммируются с промокодом -10% ANDROID10 У вас — работа, у ребенка — учеба. А место для этого может быть общим! Благодаря регулировке высоты, один стол легко превращается из взрослого рабочего в детский письменный за считанные секунды. Кресло тоже можно рассмотреть. Экономия места и бюджета. 🤩 Не забудь, промокод -10% ANDROID10 действует и на Ozon