Android Broadcast
14.5K subscribers
3.84K photos
398 videos
11 files
6.31K links
Подборка новостей и статей для Android разработчиков.

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

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
🤖 Passkey и пароли можно перекинуть между менеджерами на Android без "танцев"

Раньше смена менеджера паролей была болью: выгрузить незашифрованный файл, надеяться, что его никто не увидит, а passkey завести заново на каждом сайте.

Теперь перенос идёт через Android систему: открываешь новый менеджер → Import → Android находит установленные источники → подтверждаешь в старом приложении → данные уезжают за секунды.

Работает уже с Google Password Manager, 1Password, Bitwarden и Dashlane. Google заявляет о поддержке Android 8+, у партнёров порог выше (у Bitwarden, например, 14+ и актуальные Play Services).

Для тех, кто пишет сам менеджер паролей, это не кнопка в настройках, а API: androidx.credentials:providerevents (сейчас 1.0.0-alpha06). Провайдер регистрирует ExportEntry, система поднимает activity по androidx.identitycredentials.action.IMPORT_CREDENTIALS, наружу уходит FIDO CXF, не сырой секрет в файл. Поддерживаются пароли, passkey, адреса, карты и кастомные поля.

Такое решение повышает конкуренцию и делает миграцию простой для всех. Я сам помню как съезжал с Google Password Manager и было немного костылей с дубликатами, а тут даже решили

🔗 Документация Credential transfer

#Android #AndroidDev #Passkey
Please open Telegram to view this post
VIEW IN TELEGRAM
Какие у вас сейчас есть сложности в Android разработке, которые хотели бы изменить, а главное какой должна быть перемена? Сюда также накидывайте, чего нету, а вы бы хотели увидеть в Android
🤖 AI агент сможет тапать по настоящему проходить сценарии Android приложений на эмуляторе/устройстве

ARTEMIS от Pixel Test Engineering - это агент, который выполняет сценарии, описанный на естественном языке, на Android эмуляторе/устройстве. Умеет работать с logcat, снимать скриншоты и использовать другие возможности.

Типичный промпт в IDE:
Build the latest changes into an APK, install it on the connected device, open the login screen with a test account, verify there are no unexpected popups after login, and return screenshots of the final page.


Для чего стоит пробовать
👉 Воспроизвести баг прямо из AI агента
👉 Смоук после правок кода
👉 Тестирование сквозь несколько приложений
👉 Разобраться в работе приложения

Для стабильного регресса или отладки с брейкпоинтами решение НЕ подойдет.

Под капотом могут быть различные LLM по доступу через API Token.

Можно поставить MCP для интеграции с AI агентами.

Есть два профиля работы:
👉 flash - простой и быстрый с экономией токенов (тратится ~3–5 сек на шаг)
👉 pro - глубокая проработка с мультиагентным графом: planner / operator / checker (тратится ~15–40 сек на шаг)

Планируется поддержка iOS и использование облегченных локальных моделей

#Android #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Кирилл Розов
🤯 Dagger официально поддерживает KSP. Это уже STABLE. Под капотом всё так же генерируется Java, KMP не появилось, но зато можно отказаться от KAPT.

Dagger Hilt и androidx.hilt тоже поддерживают KSP.

//build.gradle.kts
plugins {
id "com.google.devtools.ksp" version "2.3.9"
}

dependencies {
ksp("com.google.dagger:dagger-compiler:2.60.1")
ksp("com.google.dagger:hilt-compiler:2.60.1")
}


💬 Те, кто успел перейти, — делитесь впечатлениями.

#Dagger #Android #AndroidDev #Kotlin #KSP
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍1
🐱Вышел стабильный Yatagan 2.0: Dagger-вызовы можно не переписывать

Яндекс выкатил Yatagan 2.0.0 - Dagger подобный DI, но упрощенный и полностью может работать через рефлексию

Что нового в релизе 2.0:

👉 Единый Yatagan для разных backend обработки. Codegen и reflection подхватываются сами, сгенерированная реализация в приоритете. Yatagan.create() / builder() / autoBuilder() не менялись.
👉 Экспериментальный Dagger compatibility mode. Флаг yatagan.experimental.enableDaggerCompatibility, Yatagan генерит фасады DaggerMyComponent.create() / .builder(). Ядро Dagger есть (components, modules, scopes, multibindings, assisted). Нет Hilt, dagger.android, Producers, gRPC, SPI-плагинов.

Миграцию можно скормить агенту: в репо лежит skill для этого.

#Android #AndroidDev #Dagger #Яндекс #DI
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2🔥2
🤖 СРОЧНО УБЕРИ lazy списки - используй Grid

Адаптивность - важный аспект удобно UI, но почему-то разработчики продолжа/т по умолчанию фигачить списки, вместо того чтобы подстроиться под ширину. LazyColumn и LazyRow фиксируют один столбец.

Перейдите на LazyVerticalGrid / LazyHorizontalGrid с GridCells.Adaptive. Колонок станет столько, сколько влезает при минимальной ширине ячейки, а их количеством можно гибко управлять через политику GridCells.

LazyVerticalGrid(
columns = GridCells.Adaptive(minSize = 160.dp),
contentPadding = PaddingValues(16.dp),
horizontalArrangement = Arrangement.spacedBy(12.dp),
verticalArrangement = Arrangement.spacedBy(12.dp),
) {
items(items, key = { it.id }) { item ->
ItemCard(item)
}
}


Всего есть 3 политики:
// сколько влезет, ячейка ≥ minSize
GridCells.Adaptive(minSize = 160.dp)

// всегда ровно N колонок
GridCells.Fixed(count = 2)

// столбцов ровно size, лишнее место не растягивает
GridCells.FixedSize(size = 180.dp)


В зависимости от экрана вы уже не будете играться какой Layout выбрать, а уже только менять политику подсчета ячеек

#Android #AndroidDev #Compose #Adaptive
Please open Telegram to view this post
VIEW IN TELEGRAM
131👍23🔥5
🤖 Большое обновление Android Bench - теста разных AI моделей на реальных Android задачах

Нововведением является добавление длительных задач Long-horizon tasks (LHT), которые разработчик человек обычно дни, а то и неделю: апгрейда зависимостей, новые фичи, реализация приложений с нуля и портирование кроссплатформенных приложений на Android.

Для каждой модели теперь можно увидеть подробные результаты их их решения.

В связи с обновление методологии все модели прошли переоценку и результаты можно увидеть на дашборде.

🔗 Источник - Android Developers Blog

#Android #AndroidDev #AI #Benchmark
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
8
🤖 GPT-6 Astra в большом отрыве 🤯 для решения задач и дешевле, чем Fable 5.1 и Opus 5 😂 для решения задач в Android, но даже топовая модель пока решает чуть больше четверти задач, а значит, что настройка харнеса, декомпозиция и корректировка всё ещё будут за человеком.

🆕 Обновление бенчмарка принесло оценку новых моделей: Gemini 3.8 и 3.7 Flash, GPT-6, Fable 5.1, Kimi K3 и Qwen 3.8 Max.

Конечно, новый подход к оценке значительно поменял расстановку моделей и затраты в $ за тест.
👉 Эффективная Luna улетела очень далеко
👉 Kimi K3 и Qwen 3.8 Max достойно держатся на уровне топов!
👉 Gemini 3.8 Flash — самая дешевая и лучше, чем Sonnet 5 🤔

Один из показателей эффективности моделей - это деньги, которые они тратят, но интересно сколько токенов ушло. Понятно что они разные между моделями, но все равно покажет как быстро съест лимит подписки.

#AndroidDev #Android #AI #Benchmark
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21
🔴 Как получить офер в Amazon? Запись уже доступна

В чате Закрытого Сообщества Broadcast один из его участников поделился новость что получил офер в Amazon. Решил провести стрим сообщества, где я и вы сможете задать вопросы + узнаем как сейчас происходит процесс.

#AndroidBroadcast
Please open Telegram to view this post
VIEW IN TELEGRAM
513🔥8👍2
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 ОТКРЫВАЕМ ГОРОДСКОЙ СЕЗОН С ЭРГОСТОЛ!

С 21 по 30 сентября вас ждут скидки до -20% на столы, кресла и аксессуары.

В акции участвуют популярные модели столов Терра 3.0, Квадро 4.0 Про, Уно 3.0 , кресла Экзо Флекс, Экзо Аура, беспроводная зарядка, кронштейны и многое другие. Это отличная возможность приобрести их выгодно!

Время ограничено! Успейте выбрать свой идеальный стол до 30 сентября.
👉 Со всеми предложениями можно ознакомиться на сайте.

🎁 А с промокодом ANDROID10 получите ещё –10% на все товары в корзине!

Реклама. ООО «СОФТЭФФЕКТ». ИНН 7735575262
👍41
🤖 Правильно собирай билд для оценки производительности

Чтобы оценить скорость работы приложения, нужно собирать сборку со всеми оптимизациями и обязательно выключать дебаг для билда. Чтобы иметь возможность оценить, как работает продакшен сборка с помощью инструментов профилирования, в Android 10 добавили специальный режим Profileable. Включается в AndroidManifest:
<application …>
<profileable
android:shell="true"
android:enabled="true"
tools:targetApi="29" />
</application>

🔗 Документация тега <profileable>

#Android #AndroidDev #Performance
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29👍54
🤖 Одно Android-приложение — куча процессов. Зачем это может понадобиться

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

Разработчик разобрал манифесты и байткод пятнадцати крупных Android-приложений. Отдельный процесс всегда дороже потока: своя инициализация, своя память, IPC вместо прямых вызовов в коде между потоками. Мультипроцессность имеет смысл только там, где Activity, Service и try/catch не закрывают задачу. Вот примеры:

1️⃣ Изоляция. Chrome, Firefox, Facebook, Instagram гоняют веб и декодеры картинок с isolatedProcess="true". Это другой UID: без разрешений приложения и без прямого доступа к его файлам. WhatsApp так же сжимает JPEG в изолированном сервисе.

2️⃣ Рестарт, который переживает смерть основного процесса. Discord, Snapchat и Uber используют либу ProcessPhoenix. WhatsApp и Maps так переключают аккаунт и Incognito: новая Activity в том же процессе не сбросит синглтоны и кэши. У TikTok есть путь убить основной процесс по давлению памяти (:memopt). Автор честно пишет, что без замеров это выглядит сомнительно.

3️⃣ Функциональность со своей жизнью. Клавиатура Snapchat выделена в процесс :snapkeyboard, камера Instagram с локскрина — :honolulu, Instant Games Facebook — :quicksilver, загрузчик TikTok — :downloader, capability-тесты YouTube — :glcheck. Например, это позволяет OOM отдельной функции не ронять всё приложение.

Telegram, Spotify и ChatGPT свои сервисы (звонки, плеер, загрузки, войсы) держат в одном процессе. Несколько функций ≠ несколько процессов.

#Android #AndroidDev #Internals
Please open Telegram to view this post
VIEW IN TELEGRAM
👍244🔥2