ch
Feedback
Android Broadcast

Android Broadcast

前往频道在 Telegram

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

显示更多

📈 Telegram 频道 Android Broadcast 的分析概览

频道 Android Broadcast (@android_broadcast) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 14 579 名订阅者,在 技术与应用 类别中位列第 8 743,并在 俄罗斯 地区排名第 45 335

📊 受众指标与增长动态

невідомо 创建以来,项目保持高速增长,吸引了 14 579 名订阅者。

根据 11 七月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 35,过去 24 小时变化为 0,整体触达仍然可观。

  • 认证状态: 未认证
  • 互动率 (ER): 平均受众互动率为 43.32%。内容发布后 24 小时内通常能获得 24.33% 的反应,占订阅者总量。
  • 帖子覆盖: 每篇帖子平均可获得 6 318 次浏览,首日通常累积 3 548 次浏览。
  • 互动与反馈: 受众积极参与,单帖平均反应数为 43
  • 主题关注点: 内容集中在 api, kotlin, gradle, сборка, androiddev 等核心主题上。

📝 描述与内容策略

作者将该频道定位为表达主观观点的平台:
Подборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab #MQRZR

凭借高频更新(最新数据采集于 12 七月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。

14 579
订阅者
无数据24 小时
-17
+3530
帖子存档
Как много приложений уже используют BDUI (Backend Driven UI или Server Driven UI) или перешли на него? Вы удивитесь, но МНОГО
Как много приложений уже используют BDUI (Backend Driven UI или Server Driven UI) или перешли на него? Вы удивитесь, но МНОГО. Так проще для бизнеса: 👉 можно делать больше экспериментов 👉 не надо ждать когда разработчики сделают все варианты UI для экспериментов 👉 BDUI позволяет не ждать прохождение модерации магазина 👉 Элементы управления нативные а не как будет с Web Подробнее про BDUI подход в статье(6м) #android #bdui #sdui

Как много приложений уже активно используют или переходят на BDUI?v
Как много приложений уже активно используют или переходят на BDUI?v

🚀 Знаете ли вы, что 30 минут работы стоя в день улучшают кровообращение и снижают нагрузку на позвоночник? Теперь внедрить п
+1
🚀 Знаете ли вы, что 30 минут работы стоя в день улучшают кровообращение и снижают нагрузку на позвоночник? Теперь внедрить привычку в рутину стало проще! Компания Ergostol представляет новинку — умный стол DeskUp, который помогает заботиться о здоровье маленькими, но эффективными шагами: ✅ Плавно меняйте высоту (73–118 см) одним нажатием кнопки ✅ Чередуйте сидячие и стоячие позы во время работы, звонков или творчества ✅ Устали на созвоне? Опустите столешницу за секунды — сигнал, что пора завершать встречу! Большие результаты начинаются с маленьких решений: ▸ Начните с 10 минут стоя во время утренней рутины ▸ Добавьте 1 видеозвонок без стула ▸ Используйте 3 предустановки высоты на пульте, чтобы не отвлекаться на настройки. 🎁 Начните свой путь к здоровью со скидкой по промокоду ANDROID10 👉 Стол DeskUp и другие новинки по ссылке Реклама. ООО «СОФТЭФФЕКТ». ИНН 7735575262

🐘 Gradle начиная с версии 8.0. обязательно требует зависимостей между task, если один использует результаты другого Явное объявление зависимостей требуется чтобы корректно выстроить порядок выполнения task-ок, гарантировать воспроизводимость сборки. #gradle

🏝 Проблемы с порядком Gradle Task при использовании KSP 2.0.2 Продолжаю разработку проекта FrameIO - Kotlin Multiplatform клиента для сервиса frame.io и стоклнулся с падением сборки из-за порядка задач (ниже стек с примером проблемы):
Some problems were found with the configuration of task ':module:kspDebugKotlinAndroid' (type 'KspAATask').
  - Gradle detected a problem with the following location: './module'.
    
    Reason: Task ':module:kspDebugKotlinAndroid' uses this output of task ':module:javaPreCompileDebug' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.
    
    Possible solutions:
      1. Declare task ':module:javaPreCompileDebug' as an input of ':module:kspDebugKotlinAndroid'.
      2. Declare an explicit dependency on ':module:javaPreCompileDebug' from ':module:kspDebugKotlinAndroid' using Task#dependsOn.
      3. Declare an explicit dependency on ':core:user-session:javaPreCompileDebug' from ':module:kspDebugKotlinAndroid' using Task#mustRunAfter.
    
    For more information, please refer to https://docs.gradle.org/8.14.2/userguide/validation_problems.html#implicit_dependency in the Gradle documentation.
Стек для сборки: Gradle 8.14.2, Kotlin 2.2.0, KSP 2.2.0-2.0.2, AGP 8.11.0 Решения проблемы пока нету в KSP (одно из issue), поэтому я задаю порядок Gradle Task сам:
// build.gradle.kts модуля где подключен ksp
afterEvaluate {
    android.libraryVariants.forEach { variant ->
        val variantCapitalized = variant.name.capitalized()
        tasks.named("ksp${variantCapitalized}KotlinAndroid") {
            dependsOn(
                "${variant.name}AssetsCopyForAGP",
                "process${variantCapitalized}Manifest",
                "write${variantCapitalized}AarMetadata",
                "javaPreCompile${variantCapitalized}",
                "merge${variantCapitalized}Assets",
                "merge${variantCapitalized}JniLibFolders",
                "merge${variantCapitalized}NativeLibs",
                "copy${variantCapitalized}JniLibsProjectOnly",
                "generate${variantCapitalized}EmptyResourceFiles",
                "copy${variantCapitalized}JniLibsProjectAndLocalJars",
                "prepare${variantCapitalized}ArtProfile",
                "write${variantCapitalized}LintModelMetadata",
                "extractProguardFiles",
                "prepareLintJarForPublish",
            )
        }
    }
}
#android #kmp #koltin #ksp

📹 Embedded Layout Inspector (EN,6м) Демонстрация возможностей встроенного в Android Studio инструмента Layout Inspector для дебага Compose UI 0:00 - Что за инструмент 1:31 - Как дебажить 5:26 - Итоги #compose #androidstudio

Подборка ТОП AI инструментов в разных сферах
Подборка ТОП AI инструментов в разных сферах

@mobile_reviews_bot - Telegram бот для отслеживания отзывов на приложение в Google Play и App Store. Отвечать можно прямо из
+1
@mobile_reviews_bot - Telegram бот для отслеживания отзывов на приложение в Google Play и App Store. Отвечать можно прямо из бота + есть ИИ для генерации ответов Подробности на сайте #googleplay #appstore

Используете библиотеку Jetpack App Search?
Anonymous voting

🚀 Вышел стабильный JavaScript движок от Google для Android Новая стабильная библиотека Jetpack JavaScript Engine позволит разработчикам выполнять JS код в изолированной и ограниченной среде.
class MainActivity : ComponentActivity() {

    // Теперь nullable, без lateinit
    private var jsSandbox: JavaScriptSandbox? = null
    private var jsIsolate: JavaScriptIsolate? = null

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

        if (!JavaScriptSandbox.isSupported()) {
            Log.e("JS", "JavaScriptSandbox не поддерживается")
            return
        }

        lifecycleScope.launch {
            // Создаём и сохраняем в nullable-поле
            jsSandbox = JavaScriptSandbox
                .createConnectedInstanceAsync(applicationContext)
                .await()
            jsIsolate = jsSandbox?.createIsolate()

            val script = """
                function sum(a, b) {
                  return (a + b).toString();
                };
                sum(3, 4);
            """.trimIndent()

            // При выполнении гарантируем, что jsIsolate != null
            val result: String = jsIsolate
                ?.evaluateJavaScriptAsync(script)
                ?.await()
                ?: "Ошибка: isolate не инициализирован"

            Log.d("JS", "Результат выполнения: $result")
        }
    }

    override fun onDestroy() {
        super.onDestroy()
        // Закрываем только если не null
        jsIsolate?.close()
        jsSandbox?.close()
    }
}
#jetpack #js

Очередной достижение на YouTube. За лет 5 лет ведение YouTube это не так много, но больше только впереди
Очередной достижение на YouTube. За лет 5 лет ведение YouTube это не так много, но больше только впереди

📚 Must-read для разработчиков: книги, которые прокачают ваш код и мышление Если вы хотите писать не просто рабочий, а чистый
📚 Must-read для разработчиков: книги, которые прокачают ваш код и мышление Если вы хотите писать не просто рабочий, а чистый, масштабируемый и профессиональный код, сохраните себе эту подборку. 1️⃣ «Чистый код» Для: Junior+/Middle, кто хочет избавиться от неидеального кода. Фишка: учимся именовать переменные, рефакторить и работать с legacy так, чтобы коллеги не проклинали вас в чатиках. 2️⃣ «Идеальный программист» Для: всех, кто хочет прокачать и код, и профессиональное мышление. Фишка: про ответственность, дисциплину и почему «работает» ≠ «норм». 3️⃣ «Чистая архитектура» Для: Middle+/Senior, кто проектирует системы. Фишка: SOLID, Dependency Rule и как сделать архитектуру, которая не развалится через полгода. 4️⃣ «Head First. Архитектура ПО» Для: тех, кто любит объяснения без скуки. Фишка: интерактивный формат, картинки и «разжёвано» для новичков в теме. 🔥 По промокоду BROADCAST -25% на книги в издательстве Питер Читали что-то из этого? Делитесь впечатлениями в комментариях! #реклама

🤖 Strict-режим Android Resource Shrinker — аккуратнее, он без компромиссов В Android можно включить resource shrinking, чтобы убрать из финального APK/Bundlа неиспользуемые ресурсы (строки, drawables, layouts и т.д.)
android {
    buildTypes {
        release {
            shrinkResources true
            minifyEnabled true
        }
    }
}
С недавних пор Google экспериментирует со strict режимом работы шринкера, который делает эту очистку более агрессивной, а именно: 👉 Удаляет все ресурсы, которые не удалось найти в коде или XML. 👉 Не делает допущений, что ресурс “вдруг используется где-то через reflection”. Нету явного использования или keep правила - удаление 👉 Режет всё под корень — даже если вы явно используете getIdentifier() или динамически загружаете ресурсы по имени, он может их не заметить и выкинуть. 📉 Эффект - меньший размер сборки, но есть риск крешей в рантайме, если ресурсы удалены, а были нужны Как включается strict режим:
# В gradle.properties
android.experimental.enableStrictResourceShrinking=true
🛡 Как сохранить нужные ресурсы от удаления? Если вы точно знаете, что ресурс используется, но shrinker может его не заметить: 1️⃣ProGuard правила (R8 учитывает их для ресурсов тоже):
# Правила для R8
-keepresources R.string.some_dynamic_string
-keepresources R.drawable.icon_loaded_by_name
2️⃣Файлы в папках res/raw/ и assets/ shrinker не трогает вообще. 3️⃣tools:keep и tools:discard в XML (подробнее тут):
<resources xmlns:tools="http://schemas.android.com/tools"
    tools:keep="@layout/landing,@drawable/logo"
    tools:discard="@drawable/unused_image" />
Рекомендации: 👉 Не включайте strict-режим без хорошего UI-тест-покрытия. 👉 Проверьте, что не используете динамическое получение ресурсов getIdentifier() без крайней необходимости. 👉 Добавляйте -keepresources, если есть малейшие сомнения. Подробнее про оптимизацию ресурсов читайте в официальной документации #android #r8 #оптимизация

‼️ Следите за правила для минификации кода R8 - такой вывод стоит сделать из доклада Из-за того что одна команда добавила правило, это сильно затормозило весь этап работы R8 🤯
# The proguard configuration file for the following section is
/builds/../feature-1.0.0/proguard.txt

-if class ru.tinkoff.feature.**.*$Companion {
    kotlinx.serialization.KSerializer serializer(...);
}
-keep,includedescriptorclasses class ru.tinkoff.feature.**$$serializer { *; }

# End of content from /builds/../feature-1.0.0/proguard.txt

📹 Как мы случайно ускорили релизную сборку в два раза. Роман Заремба, Юрий Анисимов из Т-Банк, Mobius 2025 Весна Спикеры рассказали о том, как боролись за ускорение релизной сборки в мобильном банке и что из этого в итоге получилось. Разобрали особенности релизной сборки, связанные с подрезкой (shrinking) кода и ресурсов. Посмотрели, как профилировать и анализировать работу R8, а также отдельных Gradle-тасок, участвующих в подготовке релизной версии приложения. Доклад для практикующих Андроид-инженеров с элементами хардкора. 🔗 Подробнее о конференции Mobius 🔗 Скачать презентацию #android #mobius #gradle

Меняете работу приложения в зависимости от состояния/возможностей устройства?
Anonymous voting

🐱 Droidex - Android библиотека для определения уровня производительности устройства на основе характеристик и состояния: процессора, памяти, размера heap, скорости доступа в сеть, свободного хранилища, заряда батаерии и прочих настроек на устройстве.
DroidDex.getPerformanceLevelLd(PerformanceClass.CPU, PerformanceClass.MEMORY)
    .observe(lifecycleOwner) { level: PerformanceLevel ->
        when(level) {
            EXCELLENT -> // Флагманский уровень
            HIGH -> // Довольно сильное устройство, но не самое мощное
            AVERAGE -> // Средняя производительность/возможности
            LOW -> // Бюджетный телефон/низкая производительность
            UNKNOWN -> // Не смогли понять ничего
        }
     }
Больше подробностей в статье или вот ссылка #android #производительность

📹 Code Review примера от Google "Now in Android" (1.5 часа) Делаю ревью кода проекта примера от Google - "Now in Android". Весь стек технологий от Google, Compose и адаптивная верстка UI #AndroidBroadcast #codereview

Сегодня буду пару часов на Сезон Кода в Минске
Сегодня буду пару часов на Сезон Кода в Минске

📹 Эти фичи изменят разработку на Kotlin (15 мин) Прошла Kotlin Conf и в рамках keynote показали 3 фичи: 🏝 улучшение destructing declaration 🏝 обязательное использование возвращаемых значений для всех методов 🏝 улучшение работы с ошибками (не с exception, именно ошибками логики) Версия на 📹 VK Video и 📺 RuTube #AndroidBroadcast #kotlin #kotlinconf25