We Love Android – Telegram
We Love Android
631 subscribers
259 photos
26 videos
4 files
630 links
Новости из мира Android-разработки
Download Telegram
Forwarded from Android Good Reads (Egor Tolstoy)
Совместимость библиотек и binary-compatibility-validator

В статье разбирается несколько типов совместимости, о которых должны думать авторы библиотек: backward/forward и source/binary compatibility. А для того, чтобы авторы библиотек случайно ломали binary совместимость, есть binary-compatibility-validator.
🤔2👍1🔥1
Forwarded from Android Live 🤖 (AdminBot)
​​JavaScriptSandbox
#android

Мало кто заметил (вероятно, потому что это довольно редкая штука), но Google работает над новой возможностью выполнять JS-код в Android.

Если у вас когда-то был опыт запуска JS-кода в Android-приложении, то вы должны знать о том, что для его запуска существует только одна возможность — использование инстанса WebView в фоне.

Это далеко не всегда удобно: нужно создавать дополнительные интерфейсы и функции для связи с JS, да и создавать инстанс WebView бывает накладно. Однако появляется новое решение — JavaScriptSandbox.

Вот пара преимуществ:
🎯 более низкое потребление ресурсов, так как не требуется создавать WebView;
🎯 можно запустить работу в Service, или WorkManager;
🎯 возможность выполнять несколько задач одновременно;
🎯 и передавать большие объёмы данных;

Я бы пока не рискнул тащить это в боевой проект, потому что JavanoscriptEngine ещё в начальной alpha-версии, но, надеюсь, Google и дальше продолжит развитие этой библиотеки. 🤓
👍4🔥32
Forwarded from Mobile Native ️️
Provider Pattern in Jetpack Compose

Неплохая статейка про
CompositionLocalProvider
в Jetpack Compose. Рассказывается что такое
CompositionLocalProvider
, как использовать и в каких случаях может быть полезен 👍

Читать (En)
👍3😱2🔥1
Forwarded from Android Broadcast (Кирилл Розов)
Вышла первая превью Android 14
👉 Новые ограничения для работы в фоне
👉 Оптимизация рассылки Broadcast-ов
👉 Обязательно запрашивать разрешение SCHEDULE_EXACT_ALARM для работы с AlarmManager.setExactAlarm
👉 Можно будет задавать размер текста вплоть до 200% благодаря нелинейному масштабированию
👉 Grammatical Inflection API
👉 Установка приложений с targetSdk ниже 23 будет невозможно
👉 Поддержка Passkeys
👉 Поддержка OpenJDK 17

Выход ожидается в конце лета - начале осени 2023. Позже буду здесь разбираться новые фичи в отдельных постах

#android14
😱3🤡3🔥2
Forwarded from Mobile AppSec World (Yury Shabalin)
Дамп и расшифровка трафика без использования Proxy

Все мы так или иначе сталкивались с необходимостью посмотреть трафик приложения и поисследовать его. Но всегда мешают всякие нехорошие безопасники, которые заставляют делать разработчиков SSL Pinning в приложении. И наиболее частый вопрос - как открутить пиннинг в приложении.

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

Есть альтернативный вариант данному методу - это логировать SSL-ключи, которые используются для шифрования внутри канала связи, снимать дамп трафика и потом его расшифровывать этими ключами.

Спасибо огромное @vadim_a_yegorov за универсальный скрипт для Android и iOS (12/13/14/15), который помогает снимать и сохранять ключи!

Вот тут можно найти полный Frida-код этого прекрасного скрипта.

Спасибо, это очень круто!

#sslpinning #ssl #keys #dump
👍2🔥1😱1
Forwarded from Mobile Compose
#Article #Blog #OpenSource

Maps Compose Library Tutorial for Android: Getting Started

В феврале 2022 года Google выпустила библиотеку Maps Compose (набор composable функций с открытым исходным кодом для упрощения интеграции с Google Maps, а также различных типов данных, связанных с Maps SDK). О том, как работать с этой библиотекой на примере приложения GeoMarker — в сегодняшней статье.
👍3🔥21
Read You - открытый RSS-ридер для Android на Jetpack Compose и с Material You.

Read You на GitHub: https://github.com/Ashinch/ReadYou
Платформа: Android
⭐️: 1.8K
👍2🔥1
Forwarded from Android Good Reads (Egor Tolstoy)
Как Reddit переезжали на Anvil

Дано: приложение на 500 модулей, активно использующее Dagger 2 и кастомный kapt процессор для борьбы с циклическими зависимостями. Команде не нравилось, что их DI сетап слишком сложный, онбордить новых людей в него трудно, а использование kapt существенно замедляет сборку.

Чтобы решить эти проблемы, проект перевели на работу с Anvil. В статье – история миграции, результаты и советы тем, кто решит повторить их путь.
👍4🔥1😱1
Forwarded from Mobile Compose
#Featured #AndroidDevelopers #MADSkills #YouTube

[Eng] Constraints and modifier order

Очередной видеоролик про базовые практики в Compose из серии MAD Skills, в котором на этот раз разбирается как работает цепочка модификаторов (Modifiers) в Compose, а также почему так важен порядок их применения.
👍1🔥1
Forwarded from Рубанов про мобилу (Михаил Рубанов)
Про нейминг в коде

Арсений Мельников выпустил отличную статью про нейминг. Арсений занимается нашим публиным API у Dodo IS, круто что у него в этом такой системный подход.

https://habr.com/ru/company/dododev/blog/714512/
👍2🤔2
Forwarded from Android Broadcast (Кирилл Розов)
This media is not supported in your browser
VIEW IN TELEGRAM
В Chrome появится поддержка Partial Custom Tabs, которая частично перекрывает контент вашего приложения и позволяет взаимодействовать с вашим приложениям и Web контентом. Эта возможность уже доступна в Jetpack Browser 1.5.0

@android_broadcast #chrome #jetpack
👍5🔥2
Forwarded from Mobile Native ️️
Mastering Execution Time Measurement in Kotlin

Статья с примерами того, как можно измерять время выполнение ваших функций в Kotlin, с помощью👇

• measureNanoTime()
• measureTimeMillis()
• measureTimeMicros()
• measureTime()

Читать (En)
👍2
Forwarded from Android Guards
Попалась мне тут совершенно замечательная ссылка, которой не имею сил не поделиться - https://github.com/krizzsk/HackersCave4StaticAndroidSec.

Там куча ссылок на туториалы, утилиты и исследования по уязвимостями в Android. Звучит скучно да? Верно. Это был бы еще один всратый "awesome list" если бы не одно "но" - там много ссылок на нативные китайские блоги и статьи. И там действительно полезная инфа, которую просто так не загулишь, если не ищешь специально на китайском. Я давно хотел найти что-то подобное и вот оно пришло. Из полезного лично для себя, я нашел там разбор форматов различных файлов (AndroidManifest.xml, resources.arsc и т.п.) и материалы по статическому анализу. Всем 你好 ;)
🔥4
Forwarded from Mobile Native ️️
Building an Android System Design Architecture for Efficient Image Uploads with Clean Architecture

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

Без примера кода, но с разбивкой на слои и детальным описанием связей и работы каждого слоя.

Читать (En)
👍1
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
Ключевые слова in и out. А так же что такое ковариантность и контрвариантность (12 мин)

Погружение в вариативность Generic типов в Kotlin. Тема непростая, но может раскрыть вам новые грани гибкости вашего кода и его строго типизации
👍2💩2
Forwarded from Android Broadcast (Кирилл Розов)
Обновили официальную документацию по обработке изменения конфигурации (поворот экрана, смена языка и пр.). Добавили советы по использованию Jetpack API, как работать с этим из Compose и лучшие практик
👍2
Forwarded from Android Broadcast (Кирилл Розов)
Вышла вторая Dev Preview Android 14, которую можно ознаменовать как "еще больше ограничений для разработчиков" и радость для магазинов приложений!
👉 Выдача доступа приложения к отдельным фото и видео, вместо всех (аналогично на iOS)
👉 Credential Manager - единая точка работы с sign-in. Через Jetpack это API уже портировано на Android 4.4+
👉 Дополнительные ограничения по запуску Activity из фона
👉 Больше ограничений на фоновую работу
👉 Новое API в PackageInstaller позволит каждый раз не запрашивать установку приложений, а сделать это один раз для приложений. Альтернативным магазинам станет жить проще
👉 Региональные настройки для всей системы и для каждого приложения
👉 Разработчики смогут определить когда делаются скриншоты

Все изменения я разберу в отдельных постах

@android_broadcast #android14
👍3
SuperImage - это Android-приложение для улучшения качества изображений на основе нейронной сети, созданное с использованием фреймворка глубокого обучения MNN и Real-ESRGAN. Входное изображение обрабатывается тайлами на графическом процессоре устройства с использованием предварительно обученной модели Real-ESRGAN. Затем плитки объединяются в окончательное изображение с высоким разрешением. Это приложение требует поддержки Vulkan или OpenCL и Android 7 или выше.

SuperImage на GitHub: https://github.com/Lucchetto/SuperImage
Платформа: Android
⭐️: 486
👍3
Forwarded from Android Guards
Даже если на устройстве есть root доступ, команды adb push/pull все равно будут работать в пользовательском режиме. Это значит, что не выйдет скачать или отправить файлы в директории доступные только суперпользователю. Но выход есть. Вместо adb push будет cat file.txt | adb shell su -c "dd of=/data/file.txt", а для замены adb pull - adb shell su -c "dd if=/data/file.txt" >> file.txt. В целом, так можно выполнить любую команду с правами root - adb shell su -c "<command>".
#aht
🤔6👍3👎1