Hydra — это RASP-плагин для Android: подключаешь одной строкой в
build.gradle.kts, и на выходе assembleRelease APK несёт обфусцированное нативное ядро с защитой.plugins {
id("com.android.application")
id("com.github.iamjosephmj.hydra") version "1.9.0"
}Что проверяет на старте процесса: рут-доступ, Frida/hooking-инструменты, клонирование через virtual spaces (Parallel Space и похожие), эмуляторы, целостность APK. Нашёл критичное — завершает процесс. Без advisory-режима, сразу kill.
secrets {} в конфиге шифрует строки при сборке, в classes.dex попадает только цифертекст, расшифровка только на чистом устройстве:val url = withContext(Dispatchers.IO) { Hydra.secret("apiUrl") }Всё on-device, без сети, без телеметрии.
INTERNET permission не объявляется вообще.⚠️ Ядро
libdicore.so закрыто и обфусцировано — проверить что именно кладётся в APK нельзя. Для финтех-продакшна это принципиальный вопрос. Kill-by-default сломает эмуляторы в QA — тестировать только на реальных чистых устройствах. QUERY_ALL_PACKAGES потребует декларации в Play Console.В продакшн только после того, как понял, что именно ты кладёшь в свой APK.
#Android #AndroidDev #Безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
👎20👍17❤5 2
‼️ Каждый год 31 августа наступает дедлайн по повышению targetSdk. В этом году дедлайн потребует минимум 36 (Android 16), и это не просто цифра в Gradle-скриптах!
Чуть больше двух месяцев до дедлайна Google Play. С 1 сентября новые публикации и обновления должны таргетировать Android 16 (API 36). Пропустить срок — приложение пропадёт из выдачи для новых пользователей на устройствах с Android новее вашего текущего таргета.
Главная ловушка: переход на
👉
👉 Native .so и 16KB page size. Если в приложении или транзитивных зависимостях есть нативный код — нужна проверка совместимости. NDK 27+ и
👉
👉 Health permissions.
Тестировать breaking changes можно уже сейчас, не повышая
Или точечно по конкретному флагу — удобнее разбирать изменения по одному. Подробнее читайте в документации.
#Android #AndroidDev #Android16
Чуть больше двух месяцев до дедлайна Google Play. С 1 сентября новые публикации и обновления должны таргетировать Android 16 (API 36). Пропустить срок — приложение пропадёт из выдачи для новых пользователей на устройствах с Android новее вашего текущего таргета.
Главная ловушка: переход на
targetSdk = 36 включает breaking changes, которые начинают работать сразу после сборки. Что поменяется после смены цифры:👉
onBackPressed() больше не вызывается. На Android 16 его переопределение игнорируется. Нужен OnBackPressedDispatcher или OnBackInvokedCallback.👉 Native .so и 16KB page size. Если в приложении или транзитивных зависимостях есть нативный код — нужна проверка совместимости. NDK 27+ и
useLegacyPackaging = false. Без этого возможны краши на части устройств.👉
USE_FULL_SCREEN_INTENT требует явного разрешения. Звонки, будильники, доставка — всё, что показывает уведомления поверх экрана блокировки, перестанет работать без декларации в манифесте.👉 Health permissions.
BODY_SENSORS и BODY_SENSORS_BACKGROUND заменяются на гранулярные android.permission.health.* — READ_HEART_RATE, READ_OXYGEN_SATURATION и т.д.Тестировать breaking changes можно уже сейчас, не повышая
targetSdk, через compat framework:adb shell am compat enable-all com.yourapp
Или точечно по конкретному флагу — удобнее разбирать изменения по одному. Подробнее читайте в документации.
#Android #AndroidDev #Android16
👍58❤6👎5
С 30 июня в США, EEA и UK заработает новая модель. Вместо единого процента: service fee (берётся всегда) и billing fee (+5% только при оплате через Google Play Billing).
Ставки ещё зависят от того, "новый" или "старый" пользователь — поставил приложение до или после даты запуска новой модели в его регионе.
👉 Подписки (recurring): 10% service fee для всех. Через Play Billing итого 15%, через альтернативный биллинг — 10%.
👉 Первый $1M/год: 10% service fee на любые транзакции, включая existing installs.
👉 Разовые покупки, new installs, стандарт: 20% + 5% billing = 25%.
👉 Разовые покупки, existing installs, стандарт: 25% + 5% billing = 30%. Те же цифры, что были до.
Для existing installs есть один выход: если переводишь пользователя на свой сайт (external web link), billing fee нет — получается 20% вместо 30%.
По сути Google разгрузил будущий трафик, а существующую базу оставил на старых ставках. Снижение на разовые покупки по-настоящему заработает только по мере переустановки — растянется на годы.
Для команд с оборотом до $1M всё ровно лучше: 10% service fee вне зависимости от типа транзакции и статуса инсталла.
🔗 Источник - Android Dev блог
#Android #GooglePlay #Монетизация
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👎6
Подключаешь аналитику, рекламный или нативный SDK и приложение сразу получает разрешение
INTERNET. Android тут всё или ничего: один permission, весь процесс. Куда ходит каждая библиотека внутри отследить из коробки нельзя.Poseidon даёт allowlist в манифесте:
<poseidon mode="monitor">
<!-- или enforce, если хочешь блокировать -->
<allow host="api.mybackend.com"/>
<allow host="*.cdn.example.com"/>
</poseidon>
Работает на трёх уровнях: JVM HTTP-клиенты (OkHttp, Volley, HttpURLConnection), нативный C/C++, Go и raw-syscall через seccomp. В Logcat видишь решение по каждому запросу каждой библиотеки отдельно.
monitor — самый полезный режим для начала: просто смотришь, куда ходят все твои SDK, ничего не блокируешь.#Android #Security #SDK
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51👎5
Команда Android в Банки.ру полторы недели дебажила Seamless-авторизацию (вход по номеру через
HTTP Header Enrichment): на iOS всё стабильно, на Android соединения рвались случайным образом. Логи врали, таймаут без причины, снифать мобильный трафик оператора нельзя, а сам оператор банил номер за десятки попыток авторизации подряд.Причина не в бэкенде и не в DNS. Когда открывается
Custom Tab для SSO, Activity приложения уходит в onPause() → onStop(). По документации Chrome, браузер должен поднимать process importance приложения через bound KeepAliveService, и процесс не попадает под сетевые ограничения. Но проприетарные слои энергосбережения Samsung и Xiaomi этот механизм игнорируют и убивают процесс по таймеру, не глядя на bound services. У Huawei логика другая — он смотрит на реальный сетевой трафик и не трогает активный процесс, поэтому там всё работало стабильно.Фикс —
ForegroundService с типом shortService:override fun onCreate() {
super.onCreate()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
startForeground(
NOTIFICATION_ID,
createNotification(),
ServiceInfo.FOREGROUND_SERVICE_TYPE_SHORT_SERVICE,
)
} else {
startForeground(NOTIFICATION_ID, createNotification())
}
}`shortService
доступен с Android 14 (лимит ~3 минуты, для 10–15 секунд поллинга с запасом), на более старых версиях работает как обычный ForegroundService. Процесс получает importance PERCEPTIBLE_APP_ADJ, и даже Samsung не трогает foreground service на One UI 6+.
‼️ ВАЖНО: сервис стартует и работает, даже если пользователь запретил приложению уведомления — POST_NOTIFICATIONS` для запуска foreground service не требуется, просто плашка не появится в шторке.Хороший повод лишний раз не доверять только официальной доке по process lifecycle и тестировать не на одном Pixel, а хотя бы на паре вендоров с разной агрессией энергосбережения.
🔗 Полная статья — там же разбор всех отвергнутых гипотез (DNS, оператор, регион) и код привязки к жизненному циклу SSO.
#Android #AndroidDev
Please open Telegram to view this post
VIEW IN TELEGRAM
👍115👎9❤3🔥3👏2
В Android-проектах зависимости обновляются тихо: transitive upgrade пришёл, сборка не сломалась, никто не заметил.
Dependency Locking фиксирует resolved версии:
// build.gradle.kts
dependencyLocking {
lockAllConfigurations()
}
Запускаешь
./gradlew dependencies --write-locks, Gradle создаёт .lockfile в gradle/dependency-locks/. После этого любое изменение версий требует явного --update-locks.Dependency Verification проверяет подлинность артефактов:
# gradle.properties
org.gradle.dependency.verification=strict
Инициализация:
./gradlew --write-verification-metadata sha256. Создаёт gradle/verification-metadata.xml с checksums.Оба файла идут в git. Локинг без верификации не защитит от подмены артефакта на CDN. Верификация без локинга не предотвратит silent upgrade. Работает только в паре. В большинстве Android-проектов ни одно из этого не включено, а полезно чтобы остановиться каскадные неявные обновления
#Gradle #Android #DevSecOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34👎7
Google зарелизил Room 3.0 (
androidx.room3), и это самый серьёзный мажор Room за всю его историю: библиотеку переписали под Kotlin Multiplatform с нуля.Ради обратной совместимости 3.0 живёт в отдельном пакете и maven-координатах (
androidx.room3:room3-runtime вместо androidx.room:room-runtime), поэтому 2.x и 3.x спокойно уживаются в одном проекте на разных базах данных. Мигрировать можно постепенно, модуль за модулем.Cама миграция не косметическая.
Cursor и SupportSQLite слой под Android убраны, всё теперь через корутины:// было (Room 2.x)
roomDatabase.query("SELECT * FROM Song").use { cursor -> ... }
// стало (Room 3.x)
roomDatabase.useReaderConnection { connection ->
connection.usePrepared("SELECT * FROM Song") { stmt -> ... }
}
KAPT для Room больше не работает вообще, только KSP и весь код генерируется на Kotlin.
InvalidationTracker.Observer заменили на Flow (createFlow()). Конфигурация через Executor тоже ушла, теперь CoroutineContext.Из нового:
🔥 FTS5 через
@Fts5🔥 поддержка JS и WasmJS (драйвер поверх Web Worker и OPFS)
🔥 кастомные DAO return type converters. Paging, RxJava и LiveData интеграции теперь строятся на одном общем API вместо трёх разных костылей ранее.
‼️ ВАЖНО: это не «обновил зависимость и всё скомпилировалось». Если у тебя много прямых обращений к
SupportSQLiteDatabase или ты завязан на Executor-конфигурацию, то закладывай время на миграцию.#Android #AndroidDev #KMP #Web #WASM #AndroidJetpack
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥73👎30👍10❤2
В июльском релизе апдейта Android Bench (лидерборда LLM для Android-задач) изменились не только модели, но и сам механизм оценки. Ранее бенчмарк использовал кастомный mini-swe-agent v1, теперь — фреймворк Harbor.
Весь лидерборд пересчитали заново: баллы всех моделей изменились, а старые результаты сохранены в архиве.
Добавили восемь моделей: Claude Fable 5, Claude Sonnet 5, Claude Opus 4.8, GLM 5.2, Kimi K2.7 Code, MiniMax M3, Qwen 3.7 Plus и Qwen 3.7 Max. Лидер — Claude Fable 5 с 84,5 баллами. GPT-5.5 отстаёт на четыре балла (80,2), а Sonnet 5 — почти на 10 баллов. Ожидаем добавления семейства GPT 5.6.
#Android #AndroidDev #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27👎11❤2
Раньше методика Android бенча была открытой, но доступной только для ознакомления. Теперь же бенчмарк можно адаптировать под свою кодовую базу и реально проверить модели на ваших задачах.
#Android #AndroidDev #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
👎9👍6❤1
Android Broadcast
👍 Топ 5 моделей вполне оправдан и скоро там ворвутся модели GPT 5.6. Nek активно работает с ними и можете почитать в его блоге, а я ему доверяю. Проблема топов - очень высокая цена для достижения этих цифр, хотя другие показали затраты меньше, потому что просто не смогли справится и остановились на пол пути
😂 GLM 5.2 выдаёт результат на уровне Opus 4.8, но стоит на 33% дороже ($117 против $88). Почти треть переплаты за тот же результат. Мой личный опыт это подтверждает отдельно от бенчмарка: на подписке за $60 я за час съел недельный лимит, не сделав ничего полезного. Не знаю, кому такие открытые модели вообще нужны в таком виде.
🏆 Kimi K2.7 Code — результат между Opus 4.7 и 4.8 (70.4), а стоит примерно вдвое дешевле. Пока лучший баланс качество/цена среди моделей с внятным score.
🤔 DeepSeek V4 (Pro и Flash) заметно отстают от топа по качеству, но стоят копейки. Для дешёвого чернового прогона это рабочий вариант.
Жду появления в рейтинге моделей Composer 2.5 и Grok 4.5, так как они явно не дали мне глубины Opus, но справились довольно неплохо, и продолжаю их тесты. GLM 5.2 оказался мусором, съедающим бюджеты.
#Android #AndroidDev #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26👎14❤3
Сколько раз листал ленту в запрещённой соцсети в тёмной комнате, попадается HDR-ролик, и выжигаются глаза. А то же видео на другом устройстве показывается как обычное. Связано это с тем, что каждая ОС и устройство сами решают, как показать видео, из-за отсутствия общих правил.
Eclipsa Video — это попытка создать стандарт. Открытая спецификация SMPTE ST 2094-50 от Google, Apple и NBCUniversal. В файл кладутся два вида метаданных:
reference white задаёт опорную точку обычной яркости, чтобы интерфейс рядом с видео не слепил, а headroom-adaptive gain curves покадрово говорят дисплею, как ужимать тени и полутона, когда запаса яркости не хватает.Разработчику делать почти нечего. Воспроизведение и запись встроены в Android 17 (API 37), Media3 и ExoPlayer подхватывают метаданные сами, настраивать плеер не нужно. Есть гайд по интеграции и HDR Explorer, где gain-кривые видно вживую.
‼️ Платформа готова, а железа нет. Первые сертифицированные устройства обещают до конца года, телевизоры позже. Существующие устройства не факт, что получат сертификацию.
Чтобы Google и Apple были в одной спеке — это редкость, и только поэтому у стандарта есть шанс. Хотя ирония налицо: пользователю обещают, что видео везде смотрится одинаково, и добавляют ещё один формат рядом с Dolby Vision и HDR10+. Время всё покажет.
#Android #HDR #Media3 #Google #Apple
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28👎4🔥1 1
Forwarded from Claude AI Dev Broadcast
😮 Так ли хорошо Grok 4.5 как про него говорит Маск?
Сразу после разбора сел с ним делать задачи и в целом он неплохо проявил себя. Решил дать не самую сложную, но и не самую простую задачу - миграция DI в многомодульном Android проекте. В целом справился, но без но не обошлось. Буду тестировать дальше и рассказывать про итоги.
🪙 Демо и мои впечатления в видео на Boosty
#AI #Grok #Android
Сразу после разбора сел с ним делать задачи и в целом он неплохо проявил себя. Решил дать не самую сложную, но и не самую простую задачу - миграция DI в многомодульном Android проекте. В целом справился, но без но не обошлось. Буду тестировать дальше и рассказывать про итоги.
#AI #Grok #Android
Please open Telegram to view this post
VIEW IN TELEGRAM
12👎19👍9🔥4❤3
Алексей Быков выложил разбор: точечные перформанс-оптимизации ExoPlayer выросли в полноценную архитектуру:
👉 self-hosted UI-компоненты для видео
👉 пул плееров с прогревом
👉 четыре реальных продакшн-бага по пути (гонка позиций при паузе, повторное использование MediaSource между плеерами, Choreographer для плавного seekbar).
Полезно прочитать, если в приложении видео больше одного плеера на экране или вы сами проектируете архитектуру поверх ExoPlayer/Media3. Найдёте в статье готовые паттерны и грабли, мимо которых можно пройти.
🔗 Все детали в подробном разборе
#Android #AndroidDev #ExoPlayer
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍62🔥9❤4👎3
👉 Параллельные чаты агента. Открываешь несколько вкладок
Agent Mode и гоняешь задачи одновременно: рефакторинг UI в одной вкладке, правка ProGuard-правила в другой, генерация документации в третьей. У каждого чата можно выбрать свою модель.⚠️ Worktree пока не поддерживается, так что параллельные агенты работают в одном рабочем дереве, за конфликтами следить самому.
👉 LeakCanary встроен в Profiler. Популярный детектор утечек памяти теперь встроенная фича профайлера, не отдельная зависимость в проекте. На компьютере разработчика анализ идёт быстрее, заявлено до 5 раз в сравнении запуском на телефоне. Есть интерактивная трассировка утечки, переход к коду и кнопка
Fix with Agent. ✅👉 App Quality Insights теперь сам предлагает план фикса краша по данным из панели и может применить правку кода.
#Android #AndroidStudio #AndroidDev
Please open Telegram to view this post
VIEW IN TELEGRAM
1👎22👍18❤3 1
Как жалко, что мы не получим этой системы проверки (сарказм)
#Android
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥60👎21👍9 4❤3
#Android #AndroidDev #Android17
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👎7
YouTube
The future unfolds! How to optimize Android apps for adaptive layouts
The future of devices is unfolding with new foldables and large screens, creating unique development opportunities. Optimize your Android app for new form factors, including foldables and large screens by implementing dynamic layouts with Jetpack Compose…
Samsung представила новые складные устройства и новый Fold требует вашего внимания, я точнее адаптации. Соотношение сторон 4:3 внутри и 16:10 снаружи. Формат очень интересный и вызовет интерес аудитооии, так что стоит потестировать. Может и завезут в Andorid Studio преднамеренные эмуляторы от партнёра
https://youtu.be/pLNJ-fNYTKU?si=4k98KxL7e_NYzKpU
Больше подробностей в анонсе
#Android #AndroidDev #Foldable
https://youtu.be/pLNJ-fNYTKU?si=4k98KxL7e_NYzKpU
Больше подробностей в анонсе
#Android #AndroidDev #Foldable
1👎12👍5 1
📢 ВНИМАНИЕ, Android-разработчики!
Google анонсировала важные изменения в Nearby Connections API, которые вступят в силу в конце 2026 года.
‼️ Что меняется?
Раньше API мог автоматически включать Wi-Fi и Bluetooth для установления соединения между устройствами без участия пользователя.
❌ Теперь этого НЕ БУДЕТ
Nearby API перестанет программно включать радиомодули как для сторонних приложений, так и для приложений Google.
✔️ Что нужно сделать разработчикам?
Перейти на ручное управление. Перед запуском Nearby Connections необходимо убедиться, что нужные радиомодули (Wi-Fi или Bluetooth) доступны и включены. В противном случае нужно попросить пользователя сделать это.
Изменения запланированы на конец 2026 года. Рекомендую проверить свои сценарии подключения уже сейчас, чтобы успеть внести изменения в срок.
#Android #Nearby
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
👎20👍13
Что сделано:
👉 Суммаризация информации о маршруте (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
🔥29👎7❤2👍2🎉1
👉 Работу с Window Size Classes
👉 Уровни (Tier) адаптации приложения. Их всего 3, и выполнить уровни 1 и 2 несложно.
👉 Какие изменения конфигурации могут вызываться, но вы для смартфонов на них забивали.
👉 Поддержка смены ориентации (а планшеты и fold-ы вертят часто).
Помните, что с Android 17 все приложения на планшетах будут растягиваться, игнорируя все ограничения в манифесте вашего приложения!
#Android #Foldable #AndroidDev
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19👎4