ar
Feedback
Android Broadcast

Android Broadcast

الذهاب إلى القناة على Telegram

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

إظهار المزيد

📈 نظرة تحليلية على قناة تيليجرام Android Broadcast

تُعد قناة Android Broadcast (@android_broadcast) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 14 584 مشتركاً، محتلاً المرتبة 8 762 في فئة التكنولوجيات والتطبيقات والمرتبة 45 369 في منطقة روسيا.

📊 مؤشرات الجمهور والحراك

منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 14 584 مشتركاً.

بحسب آخر البيانات بتاريخ 09 يوليو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار 20، وفي آخر 24 ساعة بمقدار 2، مع بقاء الوصول العام مرتفعاً.

  • حالة التحقق: غير موثّقة
  • معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 46.12‎%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 23.82‎% من ردود الفعل نسبةً إلى إجمالي المشتركين.
  • وصول المنشورات: يحصل كل منشور على متوسط 6 726 مشاهدة. وخلال اليوم الأول يجمع عادةً 3 474 مشاهدة.
  • التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 41.
  • الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل api, kotlin, gradle, сборка, androiddev.

📝 الوصف وسياسة المحتوى

يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
Подборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab #MQRZR

بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 10 يوليو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.

14 584
المشتركون
+224 ساعات
-37 أيام
+2030 أيام
أرشيف المشاركات
🤖 Android Gradle Plugin 9 упрощает запуск unit-тестов По умолчанию Android Gradle Plugin создаёт Gradle-задачи для запуска unit-тестов во всех доступных build types, что на практике почти никогда не нужно. Обычно тесты запускаются только для debug-сборки. В реальных проектах (особенно с product flavors и большим количеством модулей) это приводит к сотням лишних задач, увеличению времени конфигурации и дополнительной нагрузке на IDE и CI. Чтобы оптимизировать работу Gradle, начиная с AGP 9.0, можно в gradle.properties добавить:
android.onlyEnableUnitTestForTheTestedBuildType=true
После этого unit-тесты будут генерироваться только для основного тестируемого build type (как правило, debug). Это: 👉 убирает лишние Gradle-задачи; 👉 сокращает время конфигурации проекта; 👉 снижает потребление памяти; 👉 ускоряет локальную разработку и CI-пайплайны. Если вы не запускаете unit-тесты для release-сборок (а так делают почти все), то включение этого флага — бесплатная оптимизация сборочной инфраструктуры. Это хороший пример того, как дефолтные настройки инструментов ориентированы на универсальность, а не на эффективность, и почему их стоит регулярно пересматривать в контексте реальной архитектуры проекта. #Android #AndroidDev #Gradle

🤖 Разница между Permission и Ability в Android ОС Чтобы получить доступ к пользовательским данным или сенсорам, разработчику приходится работать с механизмом разрешений (permissions): пользователь должен выдать приложению право на использование соответствующего ресурса. Однако наличие Permission не гарантирует, что приложение действительно сможет получить эти данные. Например, приложению выдали доступ к геолокации, и формально оно имеет право узнать, где находится пользователь. Но при запросе локации приложение получает null. Почему? Здесь и появляется понятие Ability — фактическая возможность получить данные в текущий момент времени. И она может отсутствовать даже при наличии разрешения. Причин может быть множество: 👉 пользователь отключил геолокацию через быстрые настройки; 👉 система временно приостановила доступ (например, в режиме энергосбережения); 👉 прошивка вендора ограничила работу сенсора; 👉 администратор устройства запретил доступ к геолокации; 👉 отсутствует физический сигнал (GPS недоступен, нет сети и т.д.). Итог: Permission — это юридическое право, Ability — это реальная техническая возможность. С точки зрения архитектуры, наличие permission не должно рассматриваться как гарантия наличия данных. Бизнес-логика и use case’ы должны быть спроектированы так, чтобы корректно работать в ситуации отсутствия ability. Другими словами: приложение должно быть готово к тому, что внешний мир в любой момент может стать недоступным — даже если формально все разрешения выданы. Это означает: 1️⃣ отсутствие жёстких предположений о доступности данных; 2️⃣ обработку null, ошибок и таймаутов как нормального сценария; 3️⃣ явное моделирование состояний «данные недоступны» в доменной модели. Permission — это контракт с пользователем. Ability — это контракт с реальностью. И именно второй чаще всего нарушается. #AndroidDev #AndroidOS #Архитектура

🔴 Начинаю LIVE прожарку VK Android SDK. Буду изучать проект и отвечать на ваши вопросы 🪙 Стрим проходит на Boosty, запись е
🔴 Начинаю LIVE прожарку VK Android SDK. Буду изучать проект и отвечать на ваши вопросы 🪙 Стрим проходит на Boosty, запись его выложу позже. Подключайтесь сюда #AndroidBroadcast #Прожарка

🏝 Когда стоит убить Kotlin демона для ускорения сборки Если у вас тяжёлая Android-сборка (много модулей, R8, CI с ограниченной памятью), имеет смысл принудительно завершать Kotlin Daemon после компиляции и до запуска R8 🔪 Kotlin Daemon нужен только на этапе компиляции Kotlin. После этого он спокойно живёт до конца сборки и держит память. R8 — один из самых прожорливых этапов по CPU и RAM 🔥 По итогу Daemon и R8 начинают конкурировать за ресурсы памяти Что вы реально получаете если убивает Kotlin демона после компиляции кода: 🚀 снижение пикового потребления памяти примерно на 13–15% 🚀 ускорение R8 вплоть до ~7% 🚀 небольшое, но стабильное сокращение общего времени сборки 🚀 максимальный эффект на CI, где нет долгоживущих демонов и инкрементальности ‼️ Этот подход сработал для автора статьи, но для вас может ничем и не помочь, особенно в сборке на локальной машине. 🔗 Источник с измерениями и подробным разбором #Android #Kotlin #R8 #Gradle

Repost from iOS Broadcast
🐚 Skip - плагин Xcode для транспиляции SwiftUI приложения на Android теперь Open Source Я вам несколько раз рассказывал про
🐚 Skip - плагин Xcode для транспиляции SwiftUI приложения на Android теперь Open Source Я вам несколько раз рассказывал про Skip и о своих надеждах и сомнениях по поводу этого инструмента и пришли новости. Платно получать лок на вендора желающих достаточно не оказалось, но наработки пригодились Apple рабочей группе по Android. 📱 Проблема: cross-platform “без компромиссов” всегда упирался в доверие Многие команды хотят Swift/SwiftUI → Android, но боятся строить стратегию на маленьком закрытом платном туле: “а если завтра rug pull / покупка / закрытие?”. Skip прямо называет этот страх ключевым барьером adoption. Начиная с Skip 1.7: 🟢убраны все лицензии: никаких ключей, EULA, trial/period 🟢open-sourced “skipstone” — движок, который делает всю магию на build-time (плагины Xcode/SwiftPM, трансформация iOS→Android, bundling ресурсов/локализаций, JNI bridge, transpile, packaging, export) 🟢документация/сайт переезжают на skip.dev, тоже open source. ([Skip][1]) Моя оценка Skip в 2026: 🔵 Если вам нужен shared Swift-стек (и вы готовы жить в мире “не все либы заведутся идеально с первого раза”) — Skip теперь реально стоит POC 🔵 Главный риск (закрытый платный core) — существенно снижен: foundation теперь открытый и бесплатный 🔴 Главный вопрос, а нужен ли он в мире с AI агентами, когда можно попросить создать нативное приложение под Android на основе исходников для iOS, пробовал кто-то?

🛒 Save for Later — больше гибкости для релизов в Google Play Console Google запустил функцию "Save for later" в Google Play
🛒 Save for Later — больше гибкости для релизов в Google Play Console Google запустил функцию "Save for later" в Google Play Console. Теперь можно контролировать, какие изменения отправлять на ревью, а какие пока отложить. Раньше все изменения автоматически группировались и отправлялись на ревью вместе. Это создавало сложности: 👉 Приходилось задерживать hot fix или публиковать изменения, которые ещё не готовы 👉 Нельзя было разделить обновление тестовых треков и маркетинговые изменения 👉 Сложно было поменять решения касательно релиз на ходу Теперь в разделе "Changes not yet sent for review" можно отметить группы изменений как "Save for later". Эти изменения: 👉 Не попадут в текущее ревью 👉 Можно в любой момент вернуть обратно 👉 После начала ревью автоматически вернутся в очередь Функция работает вместе с проверками перед ревью. Новая фича позволяет быстрее итерировать и минимизировать влияние реджектов на график релизов. Особенно полезно, когда часть изменений готова, а часть — нет. 🔗 [Подробности в блоге](https://android-developers.googleblog.com/2026/01/ready-to-review-some-changes-but-not.html) #Android #GooglePlay

🤖 Много памяти в смартфонах — это не маркетинг, а инженерная необходимость Современный флагманский смартфон — это система из взаимосвязанных компонентов: - Большой экран с высоким разрешением и 120+ Гц - Мощная камера с 4K/60FPS видео и многокадровой обработкой - On-device ИИ без интернета - Топовый процессор от Qualcomm Когда ты покупаешь такой телефон, ты ожидаешь, что ничего не будет тормозить. И вот беда — для этого нужна оперативная память. Много. И быстрая. 🏢 Почему Pixel 8 не получил ИИ Помните, когда Google представили Pixel 8? Фишка была в том, что ИИ работает прямо на устройстве, без облака. Звучало отлично. Но Pixel 8 получил эту фичу только в виде бета-версии. Полноценно она работала только на Pixel 8 Pro. Причина одна: памяти не хватает. Pixel 8 Pro имеет 12 ГБ оперативной памяти. Pixel 8 имеет 8 ГБ. Разница в одной цифре, но это критично. Вот как распределяется память: - Android ОС: 4 ГБ (обязательно) - Google Play Services: 1 ГБ (постоянно работает) - Фоновые процессы: 2-3 ГБ (система держит приложения в памяти) - On-device ИИ: 3-4 ГБ (чтобы работал всегда готов) Итого базовые: 12 ГБ На Pixel 8 просто нечем запустить ИИ, не ломая остальное. На Pixel 8 Pro есть запас. Вот и вся история. 🤖 Проблема с разработчиками приложений Кстати, есть ещё один момент, который все игнорируют. Разработчики приложений не спешат оптимизировать код. Почему? Потому что нет критических проблем или потерь репутации. Это затратно — нужны хорошие специалисты, исследования, тестирование. А пока приложение “вроде работает”, зачем? Разработчики рассчитывают, что пользователь просто купит себе телефон мощнее. Это же работает в разработке игр — выпустил требования на RTX 4080, и всё, проблема решена. Но со смартфонами этот сценарий начинает ломаться. 💲 2026: год дефицита памяти Сейчас происходит кризис памяти. AI серверы пожирают DRAM как не в себя. Цены растут. Производители уже обсуждают, как урезать объём памяти в 2026-м году. И вот здесь наступает проблема: мы больше не сможем рассчитывать на стабильный рост памяти каждые 5 лет. Это становится роскошью. Вопрос: что будет с телефонами? Память станет сдерживающим фактором всего развития. Флагманы смогут подороже продаваться с запасом памяти — да, давай по 16-20 ГБ и цена выше. Но бюджетный сегмент начнёт деградировать. Samsung выпускает серию A годами с одними и теми же характеристиками, только наименование меняет. Народ покупает — что ещё им остаётся? И то что телефон лагает — это уже проблема пользователя. 🤔 Вывод: память — это потолок на развитие Всё, что мы видим в смартфонах, ограничено одной переменной: количеством оперативной памяти. - Больше памяти → можно добавить ИИ - Больше памяти → можно поднять разрешение экрана - Больше памяти → можно оставить больше приложений в фоне - Больше памяти → можно записывать 8K видео без подвисаний Без памяти все эти фишки просто не работают. И когда памяти становится дефицит, а цены на неё растут — рост характеристик смартфонов замораживается. Мы уже не сможем видеть стабильный апград каждый год. Первыми это почувствуют пользователи бюджетного сегмента. Их телефоны будут либо дорожать, либо худеть в характеристиках. Третьего не дано.

🤖 Baseline Profile Gradle Plugin не поддерживает AGP 9.0, но есть способ поправить Сразу после выхода Dagger с поддержкой AGP стал пробовать миграцию на AGP 9.0. Блокером послужил baselineprofile Gradle plugin. Текущая его стабильная версия 1.4.1 не поддерживает новый DSL, но зато альфа версия 1.5.0-alpha01 (вышла 17 декабря 2025) уже работает. Учитывая, что это не влияет на код в рантайте, то я бы обновился в проде. #Android #Gradle

🔥 В Dagger 2.59 добавили поддержку AGP 9.0. Одним блокером для миграции на AGP 9.0 стало меньше #Android #Gradle

🤖 Запустить Linux Desktop на Android вполне реально и понятно как. Проект Local Desktop позволит вам это сделать. Запуск про
🤖 Запустить Linux Desktop на Android вполне реально и понятно как. Проект Local Desktop позволит вам это сделать. Запуск происходит через виртуализацию, доступную на Android 16. На скриншоте к посту Linux, запущенный на Pixel Tablet. #Android #Linux

🚀 Google взялась за упрощение Picture‑in‑Picture PiP на Android долго был зоопарком: разный API на версиях, разный UI‑стейт, много if (SDK_INT…) и бойлерплейта. Новая Jetpack‑библиотека androidx.core:core-pip как раз и создана, чтобы это спрятать: она выравнивает вызовы PiP между версиями Android, даёт единый способ задавать параметры (особенно для видео/плееров), объединяет разрозненные колбэки состояния PiP и уменьшает количество кода за счёт готовых пресетов действий для типовых сценариев. Требования: обновляем Activity Чтобы всё это заработало, мало просто подключить core-pip — нужно обновиться до свежей Activity 1.13.0 (пока в альфе). В этой версии есть новые API для отслеживания состояния PiP (PictureInPictureUiStateCompat и слушатели), на которых удобно строить логику поведения UI, когда окно уходит в PiP или, например, «прячется» в угол.
// Пример кода: реагируем на состояние PiP
class PlayerActivity : ComponentActivity() {

    private val pipUiStateListener =
        Consumer<PictureInPictureUiStateCompat> { state ->
            if (state.isStashed) {
                /* спрятать контролы плеера */
            } else {
                /* показать контролы плеера */ 
            }
        }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        // ... инициализация UI / плеера ...
        addOnPictureInPictureUiStateChangedListener(pipUiStateListener)
    }

    override fun onDestroy() {
        removeOnPictureInPictureUiStateChangedListener(pipUiStateListener)
        super.onDestroy()
    }
}
🔗 Подробности про библиотека в документации #Android #AndroidDev #AndroidJetpack #PIP

В Ergostol решили прокачать ваши рабочие места 🔧✨ Открыт предзаказ со скидкой –20% на обновлённый хит Ergostol Optima 3.0 и
В Ergostol решили прокачать ваши рабочие места 🔧✨ Открыт предзаказ со скидкой –20% на обновлённый хит Ergostol Optima 3.0 и станцию продуктивности Ergostol Combo в интернет‑магазине ergostol.ru 🚀 Optima 3.0 — регулируемый стол с облегчённой рамой и пультом нового поколения: 🔵 3 запоминаемые высоты 🔵 защита от детей 🔵 гироскоп от столкновений 🔵 USB Type‑C для зарядки гаджетов 💡 Combo — рабочая станция с регулировкой по высоте, выдвижным ящиком, таймером активности и USB‑портами для ваших устройств 📚⚡️ 🎁 С промокодом ANDROID10ещё –10% на все столы и опции к ним! Не тяните, предзаказ по суперцене действует ограниченное время 🆕📦 Реклама. ООО «СОФТЭФФЕКТ». ИНН 7735575262

🤖 AI в мобильном тестировании: Block представил Trailblaze Инженеры из Block (бывший Square) открыли исходники Trailblaze — фреймворка, который позволяет писать Android UI-тесты на естественном языке. Идея заключается в том, чтобы вместо классического "найди кнопку по id, кликни, проверь текст" пишешь: "Открой экран профиля, измени имя на John, сохрани изменения". AI-агент сам понимает, как это сделать. Как это работает: 👉 Встраивается в обычные instrumentation-тесты 👉 Под капотом используется Maestro для отправления UI команд 👉 Под капотом использует кастомный on-device драйвер для Maestro 👉 Можно расширять функциональность через свои TrailblazeTool 👉 Генерирует детальные отчёты с трейсами выполнения 👉 Можно использовать разные модели через провайдеров
// Пример теста
@Test
fun myTest() {
    trailblaze.execute(
       """
       Open profile,
       change name to John,
       save
       """
    )
}
Подход не заставляет перестраивать CI/CD с нуля — используешь существующую инфраструктуру (Gradle, Espresso, UiAutomator). Постепенное внедрение AI-тестов рядом с обычными. Проект свежий, но за ним стоит опыт команды из крупной финтех-компании. Посмотрим, как будет развиваться. 🐱 GitHub Trailblaze 📄 Документация #AI #тестирование

🤯 Dagger Hilt блокирует переход на AGP 9.0 Android Gradle Plugin 9.0 официально зафиксировал новый стабильный конфигурационный API (вышла стабильная версия с релизом AS Otter FD 3) — это одно из самых значимых изменений в инфраструктуре Android и Kotlin Multiplatform за последние годы. Цели понятны и правильные лучше работа с кэшем и общая скорость сборок. Подробнее про все изменения я писал в отдельном посте Google несколько релизов подряд аккуратно готовил экосистему к этому переходу, заранее добавив новый API и дав время авторам плагинов адаптироваться. Но на практике всё упирается в плагины. Я столкнулся с тем, что Gradle-плагин Dagger Hilt до сих пор использует старую модель конфигурации и несовместим с новым DSL из AGP 9.0. В результате проект нельзя перевести на новую версию без отключения Hilt или включения режим совместимости. Иронично, что именно официальный инструмент от Google сейчас становится блокером для обновления. Да, в AGP оставили compatibility-флаги, позволяющие продолжать сборку по старым правилам. Это спасает проекты от немедленного падения, но полностью отключает все ключевые преимущества AGP 9.0 — configuration cache, ускоренную конфигурацию и новую модель плагинов. 💬 Вы уже пробовали миграцию на AGP 9.0? Что блокирует? Делитесь в комментариях мнением. #Android #AndroidDev #Gradle #Dagger #Hilt

🪙 Записал настройку и свои впечатления от использования разных моделей. Возможность очень классная, но видно как все возможности делались под модели Google и с другими много нюансов. Смотрите на Boosty #AndroidBroadcast #AndroidStudio #AI

🔨 Включите эту настройку в Android Studio чтобы получить доступ ко всем AI фичам. Копался в новых фичах Android Studio и не могу понять почему у меня нету фичи ⭐️ "Generate Compose Preview". Изучал почему, а потом случайно нашел, что надо включить шаринг контекста всего проекта и в меню появились дополнительные опции. Сделано супер неочевидно. #AndroidStuduio #Android #AndroidDev #AI

````yanl # Пример файла Journey теста journey: name: "Add item to cart from catalog" id: "add_to_cart_from_catalog" tags: - checkout - smoke setup: device: orientation: portrait locale: en_US app: startActivity: ".ui.MainActivity" steps: - description: "Open catalog screen" action: "Tap on the 'Catalog' bottom navigation item" - description: "Open product details" action: "Tap on the first product in the list" - description: "Add product to cart" action: "Tap on the 'Add to cart' button" - description: "Open cart screen" action: "Tap on the cart icon in the top app bar" assertions: - description: "Cart has 1 item" check: "Verify that cart item count is 1" - description: "Item title is visible" check: "Verify that the product title is visible in the cart" meta owner: "checkout-team" severity: "critical" createdBy: "gemini" ```

🔨 UI тесты без кода на естественном языке стали доступны в Android Studio Otter. Прикольно, но убирайте В свежем релизе Android Studio Otter стала доступна фича Journeys. Идея звучит хайпово: вы пишете сценарий теста на обычном ествественном языке, а магия AI превращает это в воспроизводимый UI-тест. Как это работает? - Вы описываете шаги (например, “открой корзину”, “проверь наличие товара”) - Journeys парсит это и сохраняет в проект специальный файл (не код) в папке journeysTest. - Тесты можно запускать прямо из студии или через командную строку (gcloud). 😮 В чём подвох? Несмотря на удобство «написания», вопросы к инфраструктуре остаются открытыми: 👉 Привязка к Google Cloud: Чтобы запустить эти тесты через CLI, нужна авторизация в gcloud. Без интернета и доступа к серверам Google магия парсинга не сработает. 👉 Изолированный контур: Если ваш CI/CD живет в закрытой сети, внедрить Jordins будет тем еще квестом. 👉 Масштабируемость: Насколько стабильно AI будет интерпретировать изменения в UI спустя время? Лично я пока настроен скептически. Старый добрый Kaspresso или Compose Test Framework на Kotlin кажутся надежнее — они не требуют облаков, легко поддерживаются и работают в любом «подвале» без интернета. Да и генерировать код с AI совсем просто и поддерживается понятнее. Journeys выглядит как классная игрушка для прототипов, но в продакшене больших проектов может стать сложностью. 🔗 Подробнее про Journeys for Android Studio в документации 💬 А что думаете вы? Кто-нибудь уже успел потыкать Journeys в реальных условиях? Может, я упускаю какую-то киллер-фичу, которая оправдывает привязку к облаку? Пишите в комментариях! 👇 #androidstudio #ai #тестирование

🔨 В Android Studio теперь можно использовать собственные AI модели вместо Gemini, причем как локальные так и удаленные. Вышла новая стабильная версия Android Studio - Otter 3 Feature Drop и в ней Google сделала верный шаг касательно AI, потому не всем подойдет их решение, а кто-то и вовсе из-за политик компании должен использовать внутренние решения. Вы можете настроить свою модель в настройках IDE в разделе "Tools" -> "AI" -> "Model Providers" Из чатов я видел что не всех получилось заводить на стабильной версии, а вот в самое свежей Canary версии работало. Сегодня буду тестировать как оно вообще. Источник - developers.android.com #AndroidStudio #AI

🔨 В Android Studio можно включить показ Kotlin кода, сгенерированного плагинами Kotlin компилятора. Например, KotlinX Serial
+1
🔨 В Android Studio можно включить показ Kotlin кода, сгенерированного плагинами Kotlin компилятора. Например, KotlinX Serialization добавляет serializer() в companion object Открывайте настройку IDE и ищите в разделе Editor -> Inlay Hints -> Declarations generated by Kotlin compiler Android Studio содержит фичу с версии Panda Canary 4 Спасибо за эту фичу Жене Ф. #androidstudio #idea