Android Developers Blog
Beyond Infotainment: Extending Android Automotive OS for Software-defined Vehicles
News and insights on the Android platform, developer tools, and events.
Оказывается Android Automotive всё ещё жива. Новостей про неё мало, но вот иногда доносится. Подробнее в блоге
#Android #Android17 #Automotive
#Android #Android17 #Automotive
👎11👍4
Вышел стабильный релиз CameraX 1.6.0. Цикл разработки был долгим, зато список изменений получился весомым.
👉 Переход на CameraPipe — CameraX теперь работает на том же стеке, что и приложение камеры Pixel. Все оптимизации и новые computational photography фичи отныне приходят в CameraX автоматически.
👉 Media3 Muxer по умолчанию — видеозапись через
VideoCapture теперь использует Media3 Muxer. Если приложение упадёт во время записи, файл не повредится. Плюс более эффективный процессинг в целом.👉 Feature Group обновился —
GroupableFeatures пополнился константами VIDEO_STABILIZATION и UHD_RECORDING. Теперь их можно комбинировать с другими фичами в одном SessionConfig, туда же вписываются CameraEffect и ImageAnalysis.👉 SessionConfig стал стабильным API — вышел из experimental вместе с
HighSpeedVideoSessionConfig. Появился isSessionConfigSupported для проверки совместимости конкретной комбинации фич до биндинга к lifecycle. Также появился ExtensionSessionConfig для работы с CameraX Extensions.Также исправили баг на Android 17. Версия 1.5.2 падает.
🔗 Источник - developer.android.com
#Android #AndroidDev #CameraX #Jetpack #Камера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍39👎6
Вышла Android 17 Beta 3 и все изменения там касаются геолокациии
👉 Location Button — разовый доступ к точной геолокации
Новый UI-элемент из Jetpack, который даёт доступ к точным координатам прямо в момент нажатия, без постоянного разрешения. Пользователь нажал кнопку "поделиться местоположением" в вашем приложении — получил данные один раз в рамках сессии. Никаких диалогов с выбором "разрешить всегда / только сейчас". Кнопку можно кастомизировать: цвет, форма, текст из предопределённого списка. Иконка местоположения остаётся обязательной и неизменной. На Android 16 и ниже Jetpack автоматически откатывается к стандартному диалогу разрешений.
👉 Примерная геолокация стала умнее
До этого "приблизительный" режим использовал фиксированную сетку 2×2 км. В малонаселённых районах это фактически деанонимизирует пользователя, потому что в квадрате 2 км может быть буквально несколько человек. В Android 17 размер ячейки теперь зависит от плотности населения — чем меньше людей, тем больше область. Логично, что давно должно было быть так.
👉 Индикатор использования геолокации
По аналогии с микрофоном и камерой, при любом обращении к геолокации теперь будет появляться системный индикатор. Плюс — диалог с историей последних обращений с возможностью сразу перейти в настройки разрешений.
👉 Переработанный диалог разрешений
"Точное" и "Приблизительное" местоположение теперь визуально сильнее разделены, чтобы пользователь осознанно выбирал нужный уровень доступа.
🔗 Источник: android-developers.googleblog.com
#Android #AndroidDev #Android17 #Приватность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍67👎8
static final по определению константа, но на практике это использовалось годами для разных хаков.👉 Попытка изменить такое поле через рефлексию бросает
IllegalAccessException 👉 Попытка через JNI
SetStaticLongField() и аналоги — сразу краш приложения 👉 Ограничение включено только для приложений с
targetSdk = 37, но в Beta 1 проверка активна для всех приложений, чтобы выловить проблемы раньшеЗачем это нужно? Пока
static final поле формально могло меняться, рантайм не мог агрессивно оптимизировать код, который к нему обращается. Теперь — может. На практике это чаще всего задевает тесты, которые через рефлексию подменяют константы в production-коде, и старые хаки с логированием или конфигурацией. Где-то жить станет чуть сложнее, но в целом всё закономерно — меньше хаков, честнее код.🔗 Источник: developer.android.com
#android #android17
Please open Telegram to view this post
VIEW IN TELEGRAM
👍57👎7
Android 17 добавляет поддержку гибридной схемы подписи APK с постквантовым алгоритмом ML-DSA. Классический ключ подписи комбинируется с постквантовым и подпись становится устойчивой к атакам с использованием квантовых вычислений.
Схема гибридная, а не замена старому подходу, поэтому обратная совместимость сохраняется. Старые устройства верифицируют подпись через классический ключ, новые получают дополнительный слой защиты через ML-DSA.
apksigner.Квантовые компьютеры, способные реально угрожать текущим подписям,появятся не скоро, да и натравливать его на взлом APK - странный сценарий использования такой машины. Но инфраструктурные вещи лучше внедрять заранее, и хорошо, что Play App Signing снимает эту задачу с большинства из нас.
🔗 Источник: developer.android.com
#Android #Android17 #Безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41👎6
В Swift 6.3 вышел первый официальный Swift SDK для Android. До этого поддержка была только в nightly-сборках, теперь это стабильный релиз.
Я делал про это видео на 📹 YouTube и на
Кому это реально пригодится? iOS-разработчикам, у которых есть Swift-библиотеки с бизнес-логикой и которые хотят переиспользовать их на Android без переписывания на Kotlin. Через Swift Java и Swift Java JNI Core Swift-код встраивается в существующее Kotlin/Java-приложение — не нужно всё переписывать с нуля.
🔗 Источник: swift.org
#Swift #Android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27👎15
Сайдлоадинг умрёт?
Нет. Верификация направлена против мошенников, а не против свободы установки. Верифицированные разработчики распространяют APK через любые каналы как раньше.
Что будет с установкой по ADB?
Нет. Сборка, отладка и деплой через ADB работают как прежде без регистрации. Регистрация нужна только если тестирование идёт через Firebase App Distribution, Play Internal Testing или APK отдаётся тестировщикам вне ADB.
Я занимаюсь разработкой как хобби, мне нужно будет пройти верификацию?
Нет. Для студентов и хобби-разработчиков вводится бесплатный аккаунт с ограниченным числом устройств без идентификации.
Зачем это вообще нужно?
На Play Store аналогичная схема уже дала двузначное снижение активности мошенников. Создать тысячи верифицированных аккаунтов с реальными документами несравнимо дороже, чем сделать это один раз как честному разработчику. Это не убирает всех, но делает порог выше. Плюс опыт пользователей с мошенничеством в разных странах разный, как и схемы обмана.
Ранний доступ стартует в октябре 2025 года, можно записаться уже сейчас.
#Android #AndroidDev #Безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
👎38👍6
Google начала глобальный роллаут верификации разработчиков в Play Console и новом Android Developer Console.
В Android Studio через пару месяцев прямо при сборке подписанного App Bundle или APK будет видно статус регистрации приложения. Для студентов и энтузиастов готовят бесплатный аккаунт с ограниченным распространением до 20 устройств — без паспорта, только email. Ранний доступ открывается в июне.
С 30 сентября 2026 года в Бразилии, Индонезии, Сингапуре и Таиланде незарегистрированные приложения можно будет установить только через ADB или специальный Advanced Flow. С 2027 года это распространится на весь мир.
🔗 android-developers.googleblog.com
#Android #GooglePlay
Please open Telegram to view this post
VIEW IN TELEGRAM
👎71👍6
Вышла новая версия Media3, и там заметное обновление для тех, кто строит плеерный UI на Compose. Главное в этом релизе — продолжение развития модуля
media3-ui-compose-material3. Добавили готовый Player composable, который объединяет ContentFrame с настраиваемыми элементами управления сверху, по центру и снизу. Рядом появился ProgressSlider для перемотки через жесты и PlaybackSpeedControl с кнопкой переключения скорости. На мой взгляд, это уже почти полноценный out-of-the-box плеер на Compose Material3.Breaking changes:
👉
FrameExtractor вынесен в отдельный модуль media3-inspector-frame 👉
LottieOverlay переехал в media3-effect-lottie🔗 Источники: android-developers.googleblog.com
#Android #AndroidDev #Jetpack #Медия
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26👎7
Авторизация в Android-приложениях исторически была болью: Smart Lock, One Tap, FIDO2, Google Sign-In — каждый жил отдельно, со своими проблемами и способом интеграции. Credential Manager заменяет всё это единым Jetpack API.
val request = GetCredentialRequest(
listOf(
GetPasswordOption(),
GetPublicKeyCredentialOption(requestJson = fetchJsonFromServer())
)
)
coroutineScope.launch {
try {
val result = credentialManager.getCredential(
context = activityContext,
request = request
)
when (val credential = result.credential) {
is PublicKeyCredential -> sendToServer(credential.authenticationResponseJson)
is PasswordCredential -> signInWith(credential.id, credential.password)
is CustomCredential -> handleFederatedSignIn(credential)
}
} catch (e: GetCredentialException) {
handleError(e)
}
}
Суть простая: один вызов
getCredential() показывает пользователю bottom sheet, где агрегированы passkeys, сохранённые пароли и Sign in with Google. Пользователь выбирает аккаунт, а не метод входа — API само подбирает подходящий тип учётной данных.По возможностям:
👉 Passkeys — беспарольная аутентификация через публичный ключ с подтверждением биометрией или PIN. Работает с Android 9+, синхронизируется через Google Password Manager
👉 Пароли — поддержка через
GetPasswordOption с Android 4.4, то есть покрывает всю реальную аудиторию👉 FIDO — Sign in with Google теперь нативно встроен в тот же bottom sheet, никаких отдельных SDK
Что происходит в реальных приложениях с passkeys — числа впечатляют. Zoho после интеграции ускорил авторизацию в 6 раз и видит рост использования passkeys на 31% месяц к месяцу. X за 4 недели мигрировал с SmartLock/One Tap/Google Sign-In, удалил сотни строк кода и вдвое улучшил показатели успешного входа.
‼️ ВАЖНО: поддержка сторонних менеджеров паролей (1Password, Bitwarden и т.д.) появилась только с Android 14. На более ранних версиях работает только Google Password Manager.
На мой взгляд, это тот редкий случай когда Google реально упростила жизнь разработчикам, а не наоборот. Если в приложении до сих пор живут отдельные интеграции авторизаций — посмотрите в сторону миграции, оно того стоит и по коду, и по UX.
А вы уже интегрировали Credential Manager к себе? Если да — что больше всего зашло или наоборот споткнулись? Если нет — что останавливает?
#Android #Безопасность #Passkeys
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62👎6