TGViewer
Channel Public Channel
Android Broadcast

Android Broadcast

@android_broadcast

Подборка новостей и статей для Android разработчиков.

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

РКН https://abdev.by/rkn_tg_ab #MQRZR
Subscribers
14.5K
Photos
3.8K
Videos
398
Links
6.3K

Showing posts older than #10169 · Back to latest

Older Posts 18 shown
Post #10167 6.75K
🤖 AndroidX Security State 1.1.0 стал стабильным

Вышел первый стабильный androidx.security:security-state:1.1.0 (1.0 дошел только до Beta) и security-state-provider:1.0.0

Библиотека отвечает на вопрос на каком patch level сейчас живут разные куски ОС и закрыт ли конкретный CVE.

После Mainline / APEX одного Build.VERSION.SECURITY_PATCH мало. Система, vendor, ядро и модули обновляются отдельно. В API 35 платформенный SecurityStateManager уже умеет проверять это. AndroidX даёт compat API и дополнения для проверки установленных пачтей безопасности, закрыты ли известные уязвимости и доступны для них фиксы уже на целевом устройстве.

val state = SecurityPatchState(context)

val systemSpl =
state.getDeviceSecurityPatchLevel(SecurityPatchState.COMPONENT_SYSTEM)

// bulletinJson скачиваете самостоятельно
state.loadVulnerabilityReport(bulletinJson)
val patched = state.areCvesPatched(listOf("CVE-2024-0031"))
val upToDate = state.isDeviceFullyUpdated()

val pending = state.queryAllAvailableUpdates(timeoutMillis = 5_000)


Кому это реально нужно? MDM, банки, приложения с высокими требованиями безопасности. В обычное приложение тащить незачем.

#Android #AndroidDev #Jetpack #Security
Post #10166 5.31K

Forwarded from Кирилл Розов

📹 Режим экономии памяти в Android или реально нужны перемены в Google Play? Делюсь своим мнение и рассказываю что нас ждет дальше в новом видео на YouTube

#Android #GooglePlay
Post #10164 6.19K

Forwarded from Кирилл Розов

Почему разработчики часто хейтят HR? Мои друзья нашли, как это решить!

В IT мы привыкли к погоне за скиллами. А вот в управлении персоналом до сих пор часто правила игры вообще непонятные. Спросить совета не у кого, учиться негде, а про «партнерство с бизнесом» любят говорить, но на практике этого не происходит.

1 сентября запустили проект, который я лично ждал и считаю очень полезным для индустрии — Школа HR от Леси Набока @onaboka и команды.

Через сообщество ребята собираются сделать:
1. Качественный найм. Они хотят воспитать HR, которые умеют искать не «галочку», а реально крутых спецов.
2. Системность. Это не разовый вебинар. Это база знаний, кейс-клубы и нетворкинг. Внутри уже 40+ практикующих экспертов, которые перелопатили свой опыт в понятные инструкции.
3. Бесплатно. Для участников. Потому что цель — поднять уровень всей индустрии, а не заработать на очередном курсе.

Внутри есть всё: от базы знаний по КДП и грейдам до разговорного английского и кофе-бота для знакомств.

Если у вас в компании есть сложности — возможно, вашему HR-отделу не хватает именно такого сообщества.

Попробуйте им нежно рассказать про инициативу 😁 Бросайте своим HR-специалистам ссылку. Там и новички, и директора по персоналу находят общий язык.

🔗 Все подробности на сайте
Post #10163 5.45K
M3E Canvas - визуальный конструктор интерфейса на Material 3. По итогу можно получить промпт для AI агента чтобы собрать такое приложение

#Material #Дизайн
Post #10157 8.5K
🤖 В Android 17 закрыли уязвимости в безопасности ОС. Обновитесь до OkHttp 5.5 или новее

1. Encrypted Client Hello: сеть больше не видит, на какой домен вы переходите
HTTPS шифрует содержимое запроса. Но в самом начале TLS-рукопожатия телефон всё ещё сообщает серверу имя сайта в открытом виде. Это поле называется SNI (Server Name Indication). Оператору, офисному прокси и тому, кто слушает Wi-Fi, тело письма не видно, а адрес получателя виден. По нему собирают профиль и целят фишинг.

ECH (Encrypted Client Hello) как раз шифрует это имя с первого запроса. Вместе с Private DNS наблюдатель видит IP, но не домен. Работает только если сетевой стек приложения поддерживает ECH и сервер отдаёт конфиг в HTTPS-записи DNS. Иначе клиент шлёт заглушку GREASE, защиты нет.

Google просит обновиться на OkHttp 5.5.0 и включить ECH. В Network Security Config XML появился <domainEncryption> для всей базы или для конкретного домена. HttpEngine / WebView должны подтянуть платформенные API сами.

2. Local Network Protection форсируется
Для приложений с targetSdk 37 локальная сеть будет закрыта по умолчанию. Раньше любое приложение с INTERNET могло просканировать домашнюю Wi-Fi и увидеть устройства. Теперь же потребуется запросить новое runtime permission ACCESS_LOCAL_NETWORK. Без него TCP-соединения в LAN уходят в таймаут, UDP возвращает EPERM. Касается сокетов, OkHttp, Cronet, mDNS, .local.

Легаси-формат с INTERNET и при target < 37 или на старых версиях ОС останется работать как было.

3. Certificate Transparency по умолчанию
Публичные сертификаты должны быть в открытых CT-логах. Если центр сертификации скомпрометировали и выпустили фейковый сертификат «как у банка», это станет сложнее спрятать. Для обычного приложения это «просто заработало», пока вы не используете собственный CA или кривой прокси.

4. 2G выключает оператор, и это про SMS-бластеры
С Android 12 пользователь мог выключить 2G вручную (рекомендую сделать). В 17 это может сделать оператор по умолчанию для своих абонентов. К API приложения это не относится, но объясняет, зачем фича вообще есть. В 2G есть уязвимости, но никто не собирается их латать из-за устаревания стандарта.

Из четырёх пунктов прямо сейчас ломает продукт только локальная сеть. ECH даёт пользу, когда обновили клиент и бэкенд. Остальное фоном.

🔗 Источник - блог Google

#Android #Android17 #Security #Privacy
Post #10156 6.58K
🚀 В Jetpack Emoji2 1.7.0 (пока только первая альфа) решили сделать перфоманс релиз!

Что уже сделали:
👉 размер метаданных: ~2.2 MB → ~80 KB
👉 аллокации на старте: 24 178 → 82
👉 ускорили сканирование доступных эмоджи

В прод тащить НЕ стоит. Имеет смысл смотреть, если профилируешь старт или видишь emoji2 в памяти.

#Android #AndroidDev #AndroidJetpack
Post #10155 7.74K
🚀 Jetpack PDF вышел в Beta. Встраиваемый PDF в Android приложении уже можно пробовать

Google довёл Jetpack PDF до беты. Это не обёртка над PdfRenderer, а готовый вьюер внутри своего UI: открыть документ, зум/скролл, поиск, выделение текста, стилус, двухстраничный режим на планшете, клавиатура и мышь.

Точка входа: PdfViewerFragment. Рядом Compose`PdfViewer` и PdfViewerState, но они ещё за @ExperimentalPdfApi.

Редактирование тоже есть, и это главная причина смотреть библиотеку сейчас, а не через полгода. EditablePdfViewerFragment даёт аннотации (перо, маркер, ластик, undo/redo через androidx.ink), заполнение форм и запись правок через PdfWriteHandle. Есть распознование данных (OCR)

// просмотр + правки (experimental)
@OptIn(ExperimentalPdfApi::class)
class EditorFragment : EditablePdfViewerFragment()

// включить перо / маркер / формы
fragment.isEditModeEnabled = true

// сохранить драфт в файл
lifecycleScope.launch {
fragment.applyDraftEdits().use { handle ->
handle.writeTo(outputPfd)
}
}


Рендер и чтение бэкпортировали до minSdk 28 (Android 9.0)

Бета релиз значит публичные API просмотра зафиксировали, в прод можно тащить аккуратно. Теперь можно пробовать отказаться от коммерческих решений на замену стандартного решения, только вот minSdk не всем может позволить

🔗 Релизные заметки
🔗 Как встроить в приложение

#Android #AndroidDev #AndroidJetpack #PDF
Post #10154 6.19K
🚀 Вышел стабильный Jetpack Glance 1.2.0: превью виджета из композиции и альфа у картинок

Jetpack Glance - библиотека для разработки с Android Desktop Widget и Wear Tile на Compose


Glance 1.2.0 вышел 26 августа 2026. С релиза 1.1 прошло больше года, в stable доехало то, что жили в альфе с мая 2025 🤯

Главное для виджетов на домашнем экране - генерация превью на Android 15+. Переопределяешь GlanceAppWidget.providePreview, публикуешь через GlanceAppWidgetManager.setWidgetPreviews. Композиция одноразовая, без рекомпозиции и эффектов. На более старых версиях по-прежнему статическое превью.

Что еще нового:
👉 alpha у Image (0f..1f)
👉 MultiProcessGlanceAppWidget, если ресиверы живут в разных процессах
👉 лямбды больше не experimental
👉 previewSize у requestPinGlanceAppWidget
👉 повысили minSdk до Android 6.0 (API level 23)

Legacy glance-wear-tiles deprecated в пользу androidx.glance.wear.

#Android #AndroidDev #Compose #AppWidgets #AndroidJetpack #WearOS
Post #10151 6.42K

Forwarded from Кирилл Розов

🪙 Полгода моего погружения в AI в одном видео! Вышел финальный эпизод ИИ Дневника

Из видео вы узнаете:
- Ключевые выводы о том, что я сделал за это время
- Как развиваться экспертом дальше, помимо навыков работы с ИИ
- Что мне интересно делать дальше

Все выпуски дневника можно найти тут

#AI
  • 👎 3
  • 👍 1
Post #10149 6.34K
🔨 Вышла Android Studio Quali 4 с улучшениями встроенных ИИ функций: интеграция локальной модели Gemma 4, улучшение работы с параллельными агентами, интеграция премиум AI подписки Google и другое.

Честно, я не понимаю кому нужен такой перегруженный инструмент как IDE, особенно Android Studio, для разработки с AI агентами, разве что руками делаешь больше чем агентом

#AndroidStudio
  • 👎 32
  • 👏 4
  • 👍 1
Post #10148 6.41K
🐱 Визуализация многомодульного Gradle проекта и форсирование правил - Aalekh. Подключается как Gradle плагин.

#Gradle
  • 👍 20
  • 👎 6
  • ❤ 2
Post #10147 5.65K
// Пример форсирования структуры проекта через Aalekh
// build.gradle.kts (root project)
aalekh {
layers {
layer("domain") { modules(":core:domain", ":feature:*:domain") }
layer("data") {
modules(":core:data", ":feature:*:data")
canOnlyDependOn("domain")
}
layer("presentation") {
modules(":feature:*:ui", ":app")
canOnlyDependOn("domain", "data")
}
}
}


#Gradle
  • 👎 10
  • 👍 5
  • ❤ 2
  • 🔥 1
Post #10144 7.63K
🤖 Как проверить конфигурацию R8 для вашего приложения

Google Play начнет требовать оптимизацию кода через R8 и заранее предоставила инструменты анализа в рамках AGP 9.3.0. Запускаете ./gradlew :app:analyzeReleaseR8Config и получите отчет по 3 направлениям: shrinking, obfuscation, optimization.

Для удобства Google сделала скилл r8-analyzer, который делает анализ отчета и выдает вам инсайты + предложения.

Рекомендуется обновиться дл AGP 9.3.0 или выше, но есть способ подключения для анализа на AGP 9.2

#AndroidDev #R8
  • 🔥 21
  • 👍 13
  • 👎 6
Post #10142 6.03K

Forwarded from Кирилл Розов

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

#AI
  • 👎 50
  • 👍 15
  • 🔥 6
  • ❤ 3
Post #10141 7.24K
🛒 При загрузке App Bundle (про APK ничего) будут показываться процент оптимизации кода через R8. Минимальная планка для прохода в феврале 2027 - 25% по каждой из метрик, что достаточно просто выполнить.

Больше личного мнения автора в @rozov_blog. Подписывайтесь!

#GooglePlay #AndroidDev
  • ❤ 19
  • 👎 11
Post #10140 6.59K
🛒 Для отслеживания расхода памяти в Google Play Android Vitals появились новые метрики: динамический расход памяти и использование памяти под bitmap

Больше личного мнения автора в @rozov_blog. Подписывайтесь!

#GooglePlay #AndroidDev
  • ❤ 12
  • 👎 6
  • 👍 5
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →