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
🤯 Открыт новый способ атаки на софт через ИИ

Любые нейросети имеют свойство галлюцинировать — то есть предлагать несуществующие решения и выдавать их за рабочие. Злоумышленники начали превращать галлюцинации LLM в реальные опенсорсные библиотеки, но уже с уязвимостями, которыми потом пользуются.

Дивный новый мир... 🔓

Вывод: проверяйте, что подключаете к проекту, и никогда не доверяйте LLM полностью. Проверяйте код так, как будто его написал джун!

#ai #безопасность
🤯41👍11🔥4🤔1
Forwarded from Compose Broadcast
This media is not supported in your browser
VIEW IN TELEGRAM
⚙️ Нашел сайт с демонстрацией того как происходит рекомпозиция с примером хороших и плохих практик

Как была сделана реализация написали в статье, а исходники есть на GitHub

#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥88👍133
🤖 Вышла вторая Beta Android 16 QRP2

Осенний фича релиз Android 16 всё ближе и вышла следующая бета с новыми возможностями:
👉 Platform Stability - API больше меняться не будет и можно заливать в Google Play в Beta/Alpha каналы

👉 Специальный режим установки приложения через ADB, чтобы разработчики могли тестировать приложения с вводом системы верификации разработчиков:
adb shell pm set-developer-verification-result


👉 Новый сборщик мусора. ART теперь будет поставляться с Generational Concurrent Mark-Compact (CMC) Garbage Collector, которые фокусируется на сборке новых объектов, которые обычно и чистятся. Ожидается снижения потребления CPU ресурсов и потребление заряда батареи.

👉 Встроенные счетчик количества шагов в Health Connect. Приложения смогут получить эти данные, если у них есть разрешение READ_STEPS.

Чтобы проверить наличие API из Android 16 QRP2 надо вызвать новое API
if (Build.VERSION.SDK_INT_FULL >=
Build.VERSION_CODES_FULL.BAKLAVA_1) {
// Вызываем APIs из Android 16 QPR2
}


Релиз обновленной версии Android 16 ожидается в ноября 2025

#android16
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍6
На каком языке написаны Gradle Build файлы в вашем проекте?
Anonymous Poll
77%
Kotlin DSL
19%
Groovy DSL
1%
Не использую Gradle
3%
Не участвую в опросе
👍7
🐘 Вышел Gradle 9.1.0 с поддержкой Java 25 и новыми фичами. Из интересно - "Визуалиация таска графов", но сразу грусть - не ждите картинки 😡 Насыпали везде по немного улучшений, запромоутили фичи в стабильные, поправили баги и на этом всё.

#gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33
🔨 Вышла Canary версия следующей Android Studio

Что в будущей версии Android Studio (подробнее тут)
👉 Journeys for Android Studio - выполнение UI тестов, написаные на естественном языке
🔨 Поддержка Backup и синхронизации настроек Android Studio
⭐️ Для крешей из Crashlytics будут предлагаться фиксы на основе AI
🔥 Android Studio позволит использовать локальные LLM
🔨 Возможность создания монохромной иконки приложения
🔨 Android Studio автоматом будет восстанавливать логи из LogCat на основе маппинга R8

#android #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍15
🤖 Как написать свою библиотеку на C/C++ и работать с ней из Java/Kotlin кода в Android (11м)

Рано или поздно любой разработчик сталкивается с C/C++ кодом в приложениях на разных уровнях:
1️⃣ Базовый уровень - работа с so файлами из подключенных библиотек
2️⃣ Уровень пользователя - вызов C/C++ кода библиотек из Java/Kotlin кода
3️⃣ Профи - написание C/C++ библиотека и использование их из Java/Kotlin кода

Рекомендую вам почитать статью от разработчика из Яндекс Браузера, где много взаимодействия с C/C++ кодом. Автор освещает создания простой C/C++ библиотеки, как её собрать и встроить в код Android приложения через JNI.

Java Native Interface (JNI) — это программный интерфейс, который позволяет коду на Java взаимодействовать с библиотеками, написанными на C, C++ и других языках. В Android он критически важен для выполнения ресурсоёмких операций и работы с нативным кодом.


#android #jni #яндекс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍113🤯1
🔨 Как в Android Studio добавить собственный шаблоны файлов и шарить их между командой разработки (3м)

Простой способ как ускорить свою разработку - генерация кода из шаблонов внутри IDE. В статье руководство как добавить свои собственные на основе File Templates

#android #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🤔1
🤯 Представлен убийца процессоров Apple, но будет только для Android

Qualcomm представила новый флагманский SoC для Android устройств - Snapdragon 8 Elite Gen 5 (когда уже наконец-то сделают просто и понятный нейминг). CPU, GPU и NPU стали быстрее, система стала энергоэффективнее, но не ожидайте лучшего времени работы устройств.
👍25🔥10🤔3
🤖 Вышел Jetpack Window 1.5.0

Что нового:
👉 WindowSizeClass появились разделения для больших (Large - от 1200 до 1600) и очень больших (XLarge - более 1600 dp) экранов
👉 Получение WindowMetrics теперь работает с Application Context, а не только с UI Context
👉 Добавили API для автоматического сохранения и восстановления статуса встраивания Activity при перезапуске процесса
👉 Удалили экспериментальное API WindowInsets

#android #androidjetpack #jetpackupdate
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥236👍5
🚀 Вышла новая Jetpack библиотека - Security State Provider (пока в статусе Альфа)

Основная цель библиотеки — предоставить действительные (actionable) данные о состоянии безопасности устройства и его компонентов, в частности:
👉 Версии обновляемых компонентов (updateable system components).
👉 Наличие применённых исправлений безопасности (security patches / applied fixes).
👉 Общий “security state” — то есть агрегированное представление безопасности системы.

То есть, библиотека даёт вам API, чтобы “спросить у Android”: насколько актуальна система, есть ли уязвимости, какие компоненты нуждаются в обновлении.

Она не заменяет шифрование/криптографию (как, скажем, security-crypto), но с дополняет стек безопасности: помогает принимать решения на основании состояния платформы.

#android #androidjetpack #безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍8🤔1
🤖 Адаптивность UI в Android-приложениях

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

1️⃣ Не привязывайтесь к фиксированным размерам
Фиче может быть выделен весь экран, часть окна или вообще маленький контейнер. Пусть она сама решает: занять всё пространство или только необходимое. Остальное — задача хоста, который через параметры (например, Modifier в Compose) подстроит отображение или сама правильно разместит (например, по центру).

2️⃣ Используйте адаптивные компоненты
Вместо LazyColumn — лучше LazyVerticalGrid, а для RecyclerViewGridLayoutManager. Они умеют подстраивать сетку под свободное место на экране.

3️⃣ Закладывайтесь на увеличение текста и элементов
Пользователь может менять скейл интерфейса: Google позволяет масштабировать всё, увеличивая DP → PX. Поэтому всегда предусмотрите скролл, если контента может стать больше.

4️⃣ UI фичи не должен знать, где он окажется
Фича отвечает только за свой UI. А вот приложение решает, как её показать: в одну панель или, например, в связке через ListDetailPaneScaffold, где на экране могут быть сразу несколько экранов.

Даже если дизайнер подготовил макет только под смартфон в вертикали — попробуйте включить воображение. Немного гибкости и масштабирования дадут пользователям куда более удобный опыт без больших трудозатрат.

📚 Что почитать:
- Практики по построению адаптивных приложений
- Compose Material 3 Adaptive
- Jetpack WindowManager
- Как строить адаптивный UI через layout

💬 Делитесь в комментариях своими советами и болями адаптивности UI

#android #ui #compose #adaptive #ux #material3
Please open Telegram to view this post
VIEW IN TELEGRAM
19👍48🔥83🤯3
‼️ Google объединяет Android и ChromeOS в одну систему 🤯
Уже в 2026 году покажут первый ноутбук на обновлённой Android ОС!

На Qualcomm Snapdragon Summit глава Android-экосистемы заявил, что Google создаёт единую ОС.
👉 Она будет основана на Android, но с опытом и наработками из ChromeOS.
👉 Первое устройство, скорее всего, получит флагманский Snapdragon, а не фирменный Google Tensor.

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

💡 Лично я очень хочу попробовать такой ноутбук. А вы бы перешли на Android-ноут?

🔗 Источник

#android #chromeos
👍82🤯169🤔5🎉3🔥2🤝1
🤖 Как правильно загружать данные для UI через ViewModel (RU,20м)

Я видел разные вариации загрузки данных через ViewModel, чтобы они "быстрее показались на UI": запуск в init блоке ViewModel, запуск загрузки из LaunchedEffect из Composable или из Fragment коллбека. Я за самый правильный путь - использование холодных стримов данных, которые запустят в момент появление клиента для отображения данных из них. Все эти ранние прогревы экономят очень мало по сравнению с длинной запроса. Рекомендую почитать статью, где автор описал все лучшие практики по загрузке.

class UserAccountDetailsViewModel(
private val getUserDetailsUseCase: GetUserDetailsUseCase = GetUserDetailsUseCase.create(),
) : ViewModel() {

val userDetails: Flow<ViewState> = flow {
emit(
getUserDetailsUseCase.execute()
.fold(
onSuccess = { ViewState(...) },
onFailure = { ViewState(...) }
)
)
}.stateIn(
viewModelScope,
SharingStarted.WhileSubscribed(5_000), // Важно
ViewState(isLoading = true, isError = false)
)
}


Что еще полезно в статье:
👉 Как suspend вызов превратить в Flow
👉 Как делать принудительное обновление
👉 Условная загрузка

#android #архитектура
Please open Telegram to view this post
VIEW IN TELEGRAM
40👍12🤯9🔥3🆒1
🐱 Analytiks - Android библиотека, которая позволит работать с разными популярными аналитиками, так и добавить собственную. Есть возможность перехвата событий и другие полезные утилиты. Очень удобно делать разные конфигурации аналитик под разные сборки.

// Проводим инициализацию
val analytiks: Analytiks = Analytiks.Builder()
.addClient(GoogleAnalyticsClient()) // Firebase Analytics
.addClient(MixpanelAnalyticsClient(token = "YOUR_TOKEN"))
.addClient(TimberAnalyticsClient()) // For debug logging
.build()

analytiks.initialize(applicationContext)

// Track a simple event
analytiks.logEvent("user_signup")

// Track an event with properties
analytiks.logEvent(
eventName = "purchase_completed",
properties = mapOf(
"product_id" to "12345",
"price" to 29.99,
"currency" to "USD"
)
)

// Identify a user
analytiks.identify(userId = "user_12345")

// Set user properties
analytiks.setUserProperty("subscription_type", "premium")

// Send all queued events immediately
analytiks.pushAll()


#android #аналитика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37🤔7
Media is too big
VIEW IN TELEGRAM
📹 Есть ли будущее у ноутбука на основе Android?

Google официально заявила что в следующем году, нам покажут ноутбук c ОС на основе Android. Это не те Pixelbook чтобы были раньше, а результат нового подразделения, которое объединило ChromeOS и Android, что даёт новые переспективы рынка и я верю что это будет успех. Всё подробнее рассказал в новом видео

📹 Смотрите на VK Video

#AndroidBroadcast
Please open Telegram to view this post
VIEW IN TELEGRAM
👍284🔥3🙏1
❗️ Google поясняет за Android developer verification

Google сделала выпуск Android Developer Backstage про будущую обязательную верификацию разработчиков.

Значит ли что sideloading на Android больше не будет?

АБСОЛЮТНО НЕТ. Суть изменения - защита пользователей от недобросовестных разработчиков, а не ограничить выбор метода установки. Основная задача - убедиться, что загружаемая сборка действтиельно от оригинального разработчика.

Как верификация разработчика повлияет на использование Android Studio?

Команда работает над тем, чтобы работа не поменялась. Собирать и устанавливать APK можно будет без верификации.

Как распространять сборки для внутренних тестеров?

Если вы будете делать установку не только через adb, тогда придется пройти верификацию и зарегистрировать пакет.

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

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

#android #google #googleplayservices #безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯35👍92
Если кратко подытожить, то установка через ADB не будет ограничена каким либо образом, что даёт вариант установки для всех желающих с минимальным набором навыков поставить, что угодно на Android устройство по кабелю или сети. Только время покажет какие ограничения поставят на установку через ADB покажет время, но мне почему-то не верится, что никаких ограничений НЕ будет.
👍30🤯12🤝2
Вышла Claude Sonnet 4.5 и сразу вырвалась в лидеры по бенчмаркам, связанным с программированием

Заявление разработчиков
Claude Sonnet 4.5 — не только самая мощная, но и самая согласованная с безопасностью из всех наших моделей. Благодаря улучшенным возможностям Claude и обширному обучению в области безопасности нам удалось существенно улучшить его поведение: снизить податливость на лесть, склонность к обману, стремление к власти и подталкивание к иллюзиям. Для агентных функций и работы с компьютером мы также значительно усилили защиту от атак через prompt injection — одной из самых серьёзных угроз для пользователей.


#ai
22🤔10👍7🔥5
🤯 F-Droid выражает протест против обязательной верификации всех разработчиков

Разработчики альтернативного магазина open-source приложений выражают обеспокоенность тем, что обязательная верификация для распространения приложений на устройствах, сертифицированных Google, негативно влияет на творчество.

Но у меня сразу ряд вопросов:
👉 Какие проблемы это создает для распространения через F-Droid?
👉 Исходный код и все авторы приложения из F-Droid известны
👉 Авторы гарантируют что софт настоящий и без трекинга, то в чем суть подтверждения авторства?

Официальное заявление можно найти тут

#android #googleplay #fdroid
41👍24🤔6🔥3🤯1