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

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

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
📢 ВНИМАНИЕ, Android-разработчики!

Google анонсировала важные изменения в Nearby Connections API, которые вступят в силу в конце 2026 года.

‼️ Что меняется?
Раньше API мог автоматически включать Wi-Fi и Bluetooth для установления соединения между устройствами без участия пользователя.

Теперь этого НЕ БУДЕТ
Nearby API перестанет программно включать радиомодули как для сторонних приложений, так и для приложений Google.

✔️ Что нужно сделать разработчикам?
Перейти на ручное управление. Перед запуском Nearby Connections необходимо убедиться, что нужные радиомодули (Wi-Fi или Bluetooth) доступны и включены. В противном случае нужно попросить пользователя сделать это.

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

#Android #Nearby
Please open Telegram to view this post
VIEW IN TELEGRAM
👎22👍13
🤖 Демонстрация on-device AI в новом open source примере Google

🐱 Jetpacker — это новый пример от команды Android, созданный для демонстрации возможностей AI на устройстве и в облаке.

Что сделано:
👉 Суммаризация информации о маршруте (Trip overview): Преобразует длинное описание маршрута в краткую сводку. Использует Gemini Nano через ML Kit GenAI APIs.
👉 Управление расходами (Expense tracker): Автоматически извлекает структурированные данные (суммы, категории) из фотографий чеков. Использует мультимодальный Gemini Nano 4 через ML Kit.
👉 Аудиодневник (Audio diary): Записывает, транскрибирует и категоризирует голосовые заметки. Работает на ML Kit Speech Recognition и GenAI Prompt APIs.
👉 Системная интеграция с AppFunctions API: Интегрирует возможности приложения с системным ИИ Android (например, позволяет Google Assistant выполнять действия внутри приложения). Подробности в отдельной статье.

#Android #AI #Gemini
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥35👎82👍2🎉1
Сделать разбор нового open source в прямом эфире на YouTube?
Final Results
47%
Да
33%
Посмотрю в записи
10%
Не интересно
3%
Сам(а) разберусь
7%
Не участвую в опросе
1👍27👎10
🤖 Гайды по адаптации Android-приложений под широкие раскладушки (Galaxy Fold8) и трифолды на официальном сайте освещают различные аспекты адаптации:

👉 Работу с Window Size Classes
👉 Уровни (Tier) адаптации приложения. Их всего 3, и выполнить уровни 1 и 2 несложно.
👉 Какие изменения конфигурации могут вызываться, но вы для смартфонов на них забивали.
👉 Поддержка смены ориентации (а планшеты и fold-ы вертят часто).
🚀 Готовность Android Jetpack библиотек.

Помните, что с Android 17 все приложения на планшетах будут растягиваться, игнорируя все ограничения в манифесте вашего приложения!


#Android #Foldable #AndroidDev
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23👎5
📹 Мои мысли как ИИ повлияет на IT рынок

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

📹 Смотреть на YouTube

#AndroidBroadcast #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
12👎37👍74🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍425👎5🔥4
Media is too big
VIEW IN TELEGRAM
🔠 Разбираем эталлоный пример Android проекта с оффлайн AI от Google
Когда: четверг, 30 июля, 19:00 (GMT+3)

В прямом эфире устрою прожарку нового примера от Google с демонстрацией как встраивать AI в классические Android приложения.

Буду ревьювить код, отвечать на ваши вопросы и классно проведем время.

Смотреть можно на 📹 YouTube или 📹 VK Video. Запись останется после эфира.

#AndroidBroacast #AndroidDev #AI #CodeReview
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍44👎12🔥105👏2
🐱 DebugOverlay — Android-библиотека для отображения оверлея загрузки ресурсов устройства при работе приложения.

Интересная функция Bug Report: одной кнопкой собирается ZIP-архив с интерактивным HTML-дашбордом, скриншотом, логами, сетевой историей и списком падений. Для QA есть OverlayMode.BugReporterOnly (только FAB для репортов, метрики не мешают тестированию) и Hidden, когда панель вызывается из собственного меню отладки через DebugOverlay.openPanel(context). Это решает вечную проблему «воспроизвёл, но к тикету приложить нечего».

‼️ Логи и тела запросов попадают в отчёт как есть. Редактирование заголовков и лимит размера тела настраиваются в interceptor, но по умолчанию удаляются только типовые ключи Authorization.

Автор не позиционирует это как замену профайлеру. Для internal- и debug-сборок мне такой формат нравится больше, чем поднимать Profiler на каждый чих.

#Android #AndroidDev #Tooling #OpenSource
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27👎6🔥31
Forwarded from Compose Broadcast
5️⃣ 5 лет назад вышел Jetpack Compose 1.0
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥122🎉32👎15👍42
🤯 В США впервые судят человека за то, что его телефон стёр сам себя. Помогла GrapheneOS

24 января 2025, аэропорт Атланты. Гражданин США Сэмюэл Таник возвращается из-за границы и попадает на вторичный досмотр. Формально ему говорят, что ищут запрещённый контент. Защита утверждает, что интересовала его связь с движением Defend the Atlanta Forest, которое выступает против стройки полицейского учебного центра, известного как Cop City. Ордера нет: агенты объясняют, что границу он ещё не пересёк, а значит и ордер не нужен. По ходатайству защиты, к адвокату его не пустили и права не зачитали.

Таник называет пароль. Агент вводит его сам, экран гаснет, мигает несколько раз, телефон уходит в перезагрузку и оживает пустым. Это был duress-пароль — вторая комбинация в GrapheneOS, которая вместо разблокировки уничтожает ключи шифрования. Необратимо, за секунды, аппарат становится как с завода. Фича появилась в 2024 ровно под такой сценарий. Пустой телефон изъяли всё равно, а Таника пропустили в страну.

Обвинение прилетело позже: 18 U.S.C. § 2232 — осознанное уничтожение имущества, чтобы помешать его изъятию. Статья редкая, защитники и безопасники говорят, что в таком виде видят её впервые. Вину Таник не признал, решение по ходатайству ждут до конца года.

Юридически всё держится на одном слове — «осознанно» 💥 Сам он ничего не нажимал, код ввели агенты. Вопрос суда: считать ли «назвал пароль, зная, что будет» уничтожением данных. Если докажут умысел, статья ложится.

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

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

📹 Смотрите мой обзор на GrapheneOS
🔗 Источник новости

#Android #GrapheneOS #Безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
63👎14👍8👏44
🔐 GrapheneOS ответила на дело о стёртом телефоне и между строк призналась, что стирать было не обязательно

Продолжение вчерашней истории про активиста, чей Pixel обнулился прямо в руках офицера.

Публичная часть ответа предсказуемая. Команда заявила, что ОС полностью легальна, ослаблять свои механизмы защиты они не обязаны, а законы, которые потребовали бы это сделать, были бы неконституционными. Отдельно уточнили, что помочь американским силовикам восстановить данные с того телефона не могут физически: железо и софт спроектированы так, чтобы обойти шифрование было нельзя.

Интереснее то, что параллельно опубликовал GrapheneOS Foundation. Фонд выкатил разбор своих защит от извлечения данных из заблокированных устройств и довольно прозрачно намекает: телефон на GrapheneOS переживает досмотр и без duress-пароля. А следом идёт прямая оговорка, что стирание данных в некоторых случаях может повлечь юридические последствия 💥 То есть ровно тезис вчерашнего поста, только теперь его пишут сами авторы фичи.

Что предлагается вместо? Ключевая штука это авто-ребут: таймер стартует при блокировке и перезагружает аппарат, если до нуля его так и не разблокировали. По умолчанию 18 часов, настраивается в диапазоне от 10 минут до 72 часов, разблокировка любого профиля таймер сбрасывает. Реализован в init, так что уронить system_server и сорвать перезагрузку не выйдет. Цель в том, чтобы вернуть телефон в состояние Before First Unlock, где ключей в памяти нет и коммерческие форензик-комбайны резко теряют в эффективности. Ничего не уничтожено, вменять нечего, данные просто лежат зашифрованными.

С 2025 Google завезла авто-рестарт через Play services. Только фиксированные 72 часа и без единой настройки.


Вывод для инженера скучный и рабочий: лучшая защита на границе не та, что эффектно уничтожает данные, а та, что спрячет их и не даёт повода для уголовной статьи 🎯

#Android #GrapheneOS #Pixel #Security
26👍6👎6
🤖 Что-то пошло не так... Google выпустила новую версию Jetpack Loader, API для загрузки данных из 2012 😳

#Android #AndroidDev
Please open Telegram to view this post
VIEW IN TELEGRAM
26👏9👎3🔥1
#видеозаписи #МобильныйВторник

Совсем скоро мы расскажем про первые доклады Mobius 2026 Autumn

А пока начинаем открывать видеозаписи некоторых докладов весны. Начинаем с того, что в этом году пришлось пройти почти каждому разработчику — внедрения ИИ в рабочие процессы.

Кирилл Розов — 7 стадий AI в разработке: от скептика к архитектору

😉 YouTube | 📺 VK Видео

Скачать презентацию с сайта Mobius
Please open Telegram to view this post
VIEW IN TELEGRAM
👎27👍9
This media is not supported in your browser
VIEW IN TELEGRAM
🐘 Вышел Gradle 9.7. Ключевое изменение новое релиза Gradle - Isolated Project перешли из экспериментального статуса в incubating. Это значит что фича уже готова к тестированию и следующий этап - релиз.

Isolated Project - большой шаг в том чтобы повысить параллельность сборки, лучшую работу с конфиг кэшем и ускорение сборки проекта!

Фича выключена по умолчанию, для включения надо добавить флаг:
# Файл gradle.properties в корне проекта
org.gradle.isolated-projects=true

⚠️ Ваш сборка и плагины, подключенные в проект, должны поддерживать Isolated Project

🔗 Подробнее про Isolated Project

#Gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍8👎53
От табуретки до кибер-трона: -25% на мечты 🚀

Помните, как в школе мы сидели за деревянными партами и стульями? Теперь, когда технологии везде — пора окружать себя комфортом, который не даёт спине скучать по школьному «удобству».

🎓 Эргостол запускает акцию «Эргономика новых знаний».
С 10.08 по 23.08 можно урвать скидки до -25%.
🔥скидки суммируются с промокодом -10% ANDROID10

У вас — работа, у ребенка — учеба. А место для этого может быть общим! Благодаря регулировке высоты, один стол легко превращается из взрослого рабочего в детский письменный за считанные секунды. Кресло тоже можно рассмотреть. Экономия места и бюджета.

🤩 Не забудь, промокод -10% ANDROID10 действует и на Ozon
Please open Telegram to view this post
VIEW IN TELEGRAM
👎8👍431👏1
В Gradle 9.7.0 официально вывели Isolated Projects из экспериментального статуса в incubating. Для Android-разработчиков, особенно тех, кто живёт в больших мультимодульных проектах или монорепах, это одна из самых заметных новостей последних релизов.

Суть простая и одновременно радикальная. Раньше конфигурация проектов в Gradle шла последовательно: один модуль за другим, и каждый мог свободно лезть в состояние соседей. В больших сборках (тысячи модулей) это превращалось в минуты ожидания просто на этапе конфигурации — и при синхронизации Android Studio, и при обычном ./gradlew. Isolated Projects вводит жёсткие границы: во время конфигурации проект больше не может трогать изменяемое состояние другого проекта, например добавить зависимость или сделать конфигурацию плагина. Благодаря этому Gradle наконец-то может конфигурировать модули параллельно, используя все доступные ресурсы компьютера.

Цифры из блога Gradle довольно красноречивые. На собственном 300-модульном билде Gradle медианный IDE-sync ускорился с 84 до 47 секунд. На Android-монорепе больше чем с 5000 проектов синхронизация Android Studio упала с 5 минут 9 секунд до 2 минут 44 секунд (почти в два раза). Репозиторий AndroidX тоже показал ощутимый выигрыш. Причём это только начало: изоляция открывает дорогу к выборочной конфигурации (конфигурировать только те проекты, которые реально нужны для текущей задачи) и к более тонкому кэшированию результатов конфигурации.

Интересно, что такой подход уже давно является нормой в других системах сборки. Bazel и Buck изначально проектировались вокруг изоляции: пакеты/таргеты максимально независимы, конфигурация декларативная, параллелизм — естественное следствие. Gradle исторически шёл другим путём — максимальная гибкость и возможность писать почти любой императивный код в build-скриптах, что в итоге сыграло против него. Isolated Projects — это попытка взять лучшее из обоих миров: сохранить привычную модель Gradle, но добавить те самые границы, которые позволяют масштабироваться.

Адаптация проекта для Isolated Project

Чтобы адаптировать свой проект сначала нужно, чтобы сборка уже нормально работала с Configuration Cache, Isolated Projects строится поверх него строится. Дальше в gradle.properties добавляете:

org.gradle.isolated-projects=true


После включения Gradle начнёт падать на любом нарушении изоляции (если не станет - вы мастер конфигурации). Чаще всего это:
- доступ к изменяемому состоянию другого проекта (rootProject.version, project(":other").tasks и т.п.);
- использование allprojects / subprojects с мутациями;
- плагины, которые регистрируют задачи или расширения «через границу» проекта.

Исправляется это в основном переносом общей логики в convention плагины, использованием project.isolated для безопасного чтения данных и lifecycle-колбэками из settings. Есть diagnostics-режим, который помогает найти все нарушения, и даже «dangerously ignore problems», если хочется сначала просто замерить прирост производительности.

Команда Gradle плотно работала с Google и JetBrains, поэтому Android Gradle Plugin и Kotlin Gradle Plugin уже поддерживают изоляцию (на свежих версиях). KSP тоже умеет — нужно только включить ksp.project.isolation.enabled=true. Официальный пример Now in Android уже приведён в совместимое состояние.

С комьюнити-плагинами ситуация разношёрстная. Многие уже адаптированы (Apollo, Wire, Firebase Crashlytics/Perf, Dependency Analysis и другие). Некоторые всё ещё ломаются или требуют костылей: Spotless часто приходится условно отключать, Gradle Doctor, SKIE и часть Kotlin Multiplatform (особенно WASM/JS) пока в красной зоне. Если ваш плагин падает, то лучшее, что можно сделать, это создать issues или найти уже открытое. Актуальный статус поддержки Isolated Project в Gradle плагинами есть на сайте (спасибо Никите К. за ссылку)?

Станет ли это обязательным? В ближайшее время нет. Фича incubating, по умолчанию выключена и официально не рекомендуется для продакшен-артефактов. Gradle явно говорит, что собирается стабилизировать Isolated Projects и в конечном итоге сделать их режимом по умолчанию, но конкретных сроков нет. На мой взгляд, раньше выхода Gradle 11 это не состоится, потому что очень много правок надо сделать по всей экосистеме Gradle. Пока это инструмент для тех, кто готов инвестировать время в миграцию ради заметно более быстрой синхронизации и конфигурации.

Если у вас большой Android-проект и синхронизация уже начала раздражать — имеет смысл попробовать. Даже если прямо сейчас не всё идеально, направление понятно: Gradle медленно, но верно уходит от «всё можно менять отовсюду» к модели, в которой проекты действительно изолированы. А это именно то, что нужно монорепам и большим мультимодульным сборкам.

#Gradle
24👍16🔥7👎5
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5812👎10👍5