Android Broadcast
14.4K subscribers
3.68K photos
367 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

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

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
Очередное достижение на YouTube. За лет 5 лет ведение YouTube это не так много, но больше только впереди

#AndroidBroadcast
36🏆100👍5310🎉8🔥5
🚀 Вышел стабильный 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()

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

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

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


#jetpack #js
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯32👍17🔥21
@mobile_reviews_bot - Telegram бот для отслеживания отзывов на приложение в Google Play и App Store. Отвечать можно прямо из бота + есть ИИ для генерации ответов. Есть бесплатный тариф

Подробности на сайте

#googleplay #appstore
🔥23👍3🤯21
Подборка ТОП AI инструментов в разных сферах
🤔41👍10🤯8🔥21
Media is too big
VIEW IN TELEGRAM
📹 Embedded Layout Inspector (EN,6м)

Демонстрация возможностей встроенного в Android Studio инструмента Layout Inspector для дебага Compose UI

0:00 - Что за инструмент
1:31 - Как дебажить
5:26 - Итоги

#compose #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
🏝 Проблемы с порядком 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍97🤯6
🐘 Gradle начиная с версии 8.0. обязательно требует зависимостей между task, если один использует результаты другого

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

#gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
20👍12🔥2
Как много приложений уже используют BDUI (Backend Driven UI или Server Driven UI) или перешли на него? Вы удивитесь, но МНОГО. Так проще для бизнеса:
👉 можно делать больше экспериментов
👉 не надо ждать когда разработчики сделают все варианты UI для экспериментов
👉 BDUI позволяет не ждать прохождение модерации магазина
👉 Элементы управления нативные а не как будет с Web

Подробнее про BDUI подход в статье(6м)

#android #bdui #sdui
🤯10👍5
Серия статей про MVI архитектуры и её корни:
1️⃣ Введение в MVx шаблоны (7м)
2️⃣ Подробнее про MVVM (8м)
3️⃣ Из чего готовят MVI (12м)
4️⃣ Готовим MVI (7м)

#архитектура #mvvm #mvi
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥33👍14🤔5🆒4
‼️ В Android снова накладывают ограничения на фоновую работу - фраза которой не удивить Android разработчика

Если хотите подробнее узнать про историю ограничений на выполнение работы в фоне с первых версий ОС до сегодня, то рекомендую вам прочитать статью(10м), а именно: AlarmManager, Background и Foreground Service, Doze Mode, JobScheduler и WorkManager, App Standby Buckets, Task Manager

#android
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥33👍14🤝4🤯1
🦊 Настройка автоматизация проверки качества, сборки и запуск тестов Android проекта в Gitlab

CI/CD - неотъемлемая часть любого мобильного и не только проекта! Даже если вы делаете всё один, вас стоит настроить CI/CD. GitHub, Gitlac, Jenkins и множество других решений подойдут для решения задачи.

Если вы решили использовать CI/CD от Gitlab, тогда вам может пригодиться серия статей:
1️⃣ Планирование, настройка Gitlab файла, публикация в Telegram сборок
2️⃣ Запуск Android-тестов: Marathon Labs, Firebase Test Lab
3️⃣ Автоматизация публикации версий в Play Store с помощью Gradle Play Publisher plugin и Fastlane, а также собственного Docker образа для сборки

#andorid #ci #gitlab #автоматизация
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👍123
🤖 Теперь можно установить Canary сборки разрабатываемой версии Android

Чтобы следить за самыми свежими изменениями Android теперь есть возможность устанавливать Canary сборки следующей версии Android, которые будут приходиться чаще чем Dev Preview и Beta (сейчас 1 раз в месяц).

Уже сейчас можно поставить на Pixel устройства через Android Flash Tool

#android
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍52
🤖 Также будут доступны Canary сборки Android для эмулятора в Android Studio и конечно Android Canary SDK

#androidstudio #эмулятор
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍3
🛒 Обновление правил Google Play от 10 июля 2025

Что самого важного из изменений:
👉 Разрешение рекламы краткосрочных займов только в Пакистане
👉 Изменения касательно криптовалют и цифровых кошельков
👉 Уточнили как использовать разрешения для чтения сенсоров тела
👉 Добавили практики по использованию контента, сгенерированного AI,

📹 Видео версия

#googleplay
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🆒4
🤖 Как написать свой VPN клиент под Android (22м)

Если вам интересно понять как работает технология - лучше реализовать с ней пример с нуля. Вот таким путем и пошёл автор статьи с VPN сервисов для Android на основе WireGuard

#android
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42👍6🤔4
This media is not supported in your browser
VIEW IN TELEGRAM
🐱 Lokilizer - open source инструмент для перевода строк. Работает на основе AI с поддержкой различных моделей

Уникальная фича - перевод с 2 языков на другие сразу. Например, с русского и английского.

Приложение разворачивается как сервер. Есть подробная инструкция и Docker образ

Автор описал больше про инструмент в статье
Please open Telegram to view this post
VIEW IN TELEGRAM
👍36
⭐️ Instabug провели исследование как ИИ смогут фиксить найденные креши в приложениях и сравнивали его с решением от человека.

Все инструменты получили более низкие баллы по схожести, чем по другим показателям, что указывает на то, что, хотя ИИ-инструменты могут генерировать функционально правильные исправления, они часто подходят к проблемам иначе, чем разработчики-люди. Это влияет на удобство обслуживания кода и интеграцию в существующие кодовые базы.

Ключевые выводы по тестируемым инструментам:
👉 Cursor: превосходный по правильности и согласованности на Android, демонстрирует сильные возможности для структурированной генерации кода.
👉 Copilot: демонстрирует сбалансированную производительность на обеих платформах с особым превосходством в устранении первопричин (глубина).
👉 Claude Code: поддерживает стабильную производительность на всех платформах, но в целом отстает от других инструментов.
👉 SmartResolve: демонстрирует исключительную производительность на iOS и предоставляет исправления, наиболее похожие на решения, написанные человеком, на обеих платформах.

Оригинальная статья

#android #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🤯2