We Love Android – Telegram
We Love Android
634 subscribers
259 photos
26 videos
4 files
630 links
Новости из мира Android-разработки
Download Telegram
С большим опозданием, но все же опубликовал исходный код с доклада.

Там самые разные компиляторные плагины, такие как:
- подсветка рекомпозиций
- логирование причин рекомпозиций
- удаление вызовов функции sourceInformation
- генерация/удаление/отображение testTag
- анализ стабильности параметров composable функций

Все компиляторные плагины подключаются к проекту как gradle plugin. Можно все по отдельности, а можно вместе - так удобнее настраивать.

В проверках стабильности параметров поддержаны самые последние обновления Compose Compiler, а именно возможность задавать в файле классы, которые надо пропустить в проверках. Подробнее писали тут.

Кроме этого есть ещё idea plugin. Правда в виде jar, так как получил отказ при попытке публикации в JetBrains Marketplace.
Он умеет отображать какие testTag будут сгенерированы компиляторным плагином, а так же проверять стабильность параметров функций и отображать ошибку в редакторе кода. Конечно, не на 100%, как это в компиляторном плагине сделано, но, думаю, в большинстве случаев правильно.

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

Если будут проблемы или вопросы - пишите. Попробуем решить)

github.com/VKCOM/vkompose
🔥3👍1
Forwarded from Surf Mobile Team
Fast scroller с алфавитным указателем

Делимся ещё одной полезной фичей — 🏄‍♂️ Android-разработчик Олег рассказал, как реализовать навигацию по списку с помощью быстрого скролла с алфавитным указателем.

👩‍💻 Ссылка на репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍4👀1
Forwarded from Android Live 🤖
Хак через десериализацию
#android

Давно я не появлялся на канале: со мной всё хорошо, но дела под конец года забрали всё свободное время, а серая погода — забрала всё желание писать. Но… надо не забывать вас, поэтому возвращаюсь!

На днях попалось любопытное видео, где описывается уязвимость приложения, связанная с использованием Serializable в крупном приложении AliExpress. В видео по шагам рассказывается о том, как провернуть подобный хак, как найти подобные в своих приложениях, ну и конечно же демонстрируется сама уязвимость.
👍1🔥1🫡1
Forwarded from Android Guards
Короч я устал отдыхать, и решил начать год с публикации материала для новичков. Надеюсь, что он будет полезен всем кто только пришел в мобильный инфобез или собирается прийти. Возможно я буду дополнять и актуализировать этот материал, если пойму, что упустил какие-то важные детали или что-то эволюционировало слишком сильно. Всем продуктивного года! 👨‍🔬
🔥3👍1
Forwarded from RutheniumOS
android_encryption.pdf
8.8 MB
Такая вот работа получилась. Большая статья про шифрование в Android и атаки на него.
👍9🔥1
Forwarded from In AsyncTask We Trust
😁5🤪4🤓2👎1🤣1
Forwarded from Mobile AppSec World (Yury Shabalin)
Pending Intents, что это и зачем?

Крайне полезная статья про механизм Pending Intents в Android, которая очень хорошо структурирована.

Люблю такие материалы, сначала теория, затем разъяснение, для чего этот механизм используется в легитимном плане и далее материал, как это может повлиять на безопасность и как такие вещи можно искать.

Была похожая статья от Oversecured, на которую ссылается в том числе и автор материала, так как что тем, ето хочет глубже погрузиться в эту область рекомендую изучить и ее тоже.

#android #intents
👍6🤔21
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
Официальная энциклопедия от JetBrains по интеропу между Kotlin и Swift. Рассказывается как работать с разными фичами Kotlin из Swift кода
🔥32
Forwarded from Mobile Native ️️
Создание и использование BOM в Gradle

В статье рассказывается про то, как можно организовать BOM (bill of materials) для управления версиями зависимостей + рассматриваются более сложные кейсы создания и использования BOM в Gradle-проектах.

👉 Зачем вообще нужен BOM?
👉 Как выглядит BOM?
👉 Когда создавать свой BOM?
👉 Что такое Rich Model и Gradle Module Metadata?
👉 Как несколько BOM сочетаются друг с другом?
👉 Управление версиями Gradle-плагинов через BOM

Читать (Ru)
👍1🔥1😱1
Forwarded from Android Live 🤖
HashMap для Jetpack Compose
#compose #performance

Интересная статья, где рассказывается про минусы стандартной HashMap в контектсте использования Jetpack Compose.

При использовании mutableMapOf() под капотом создаётся LinkedHashMap(), которая довольна хороша, но имеет недостаток: при каждом новом добавлении элемента создаётся LinkedHashMapEntry, из-за чего структура не очень memory-friendly.

Ну и сходу предлагается использовать другую структуру — ScatterMap, у которой подобных недостатков нет. В статье есть и замеры, и описывается главный недостаток этого подхода: структура хоть и map-based, но не наследуется от привычного нам Map, хотя и имеет подобные ему классы.

Стоит ли бежать заменять мапы на неё? Безусловно, нет: сам автор признаётся, что вам просто стоит иметь в виду, что такая структура существует и вы вспомните о ней, когда аллокация памяти будет очень критичным моментом.
👍5🔥1👀1
Forwarded from RutheniumOS
Внезапный материал про SELinux

SELinux + AOSP, или безопасности много не бывает.
https://blog.rutheniumos.ru/docs/blog/selinux_in_aosp/
👍4🔥2👏1
🔥12👍6😁5💩1
Forwarded from Mobile Developer (Алексей Гладков)
Compose Cupertino
https://github.com/alexzhirkevich/compose-cupertino

Из закрытого чата подкинули крутую библиотеку для компоуза

👉 Анимации и эффекты как в нативном iOS
👉 Поддержка Decompose
👉 Обертки над компонентами для использования их из iOS
👉 Набор иконок от Apple

Это мы подключаем
🤡6😱3👍1