We Love Android – Telegram
We Love Android
635 subscribers
259 photos
26 videos
4 files
630 links
Новости из мира Android-разработки
Download Telegram
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
Forwarded from Android Guards
Бесконечно можно смотреть на три вещи: как горит огонь, как течет вода, и как выходит очередная статья про ssl pinning. Но на этот раз я попробовал посмотреть на этот вопрос с точки зрения необходимости применения этой технологии в мобильных приложениях. Для этого я смоделировал сценарий, когда на устройство пользователя попадает сертификат злоумышленника, и как себя в этом случае начинают вести разные компоненты мобильного приложения в зависимости от настроек безопасности.
🔥4👍2😱1
Forwarded from Mobile Compose (Dmitriy Grigoriev)
#News #Release #Compose

Fragment Compose Artifact

В результате последнего обновления Jetpack библиотек, среди прочего, появился новый артефакт fragment-compose. Основной его задачей является поддержание проектов, которые находятся в процессе миграции с "Compose на фрагментах" на "full Compose" архитектуру.

На данный момент единственной его фичей является extension метод content, который избавляет от необходимости создавать ComposeView и выставлять нужный ViewCompositionStrategy.
👍7🔥1🫡1
Forwarded from По-явански
:slowpoke: шикарный доклад про нутрянку корутин и способы их применения помимо асинхронности.

🟢 Разбор примитивов корутин из Kotlin stdlib
🟢 Как устроены билдеры вида sequence { yield() }
🟢 Глубокая рекурсия без отрыва стека
🟢 Парсеры

Friendly reminder разработчикам Kotlin:
⚫️ сиквенс — это бесполезная обёртка над итератором (в Rust её нет — компилятору легче оптимизировать и разворачивать длинные конструкции вида iter.map.filter.etc)
⚫️ DeepRecursiveScope.callRecursive стоило бы назвать invokeRecursive, консистентно с invoke и invokeSuspend, зашитыми в язык
⚫️ в очередной раз не хватает «:: наоборот» — fun smth() by DeepRecursiveFunction {}
Friendly reminder автору:
🟡 скоуп билдера должен быть @RestrictsSuspension
🟡 пожалуйста, не надо data-классов
Friendly reminder для организаторов:
💡 существуют нейросеточные плагины для убирания чвякания из речи
👍4🔥1
Forwarded from Invalidate cache & restart (Alexey Bykov)
Весь прошлый год я плотно работал с ExoPlayer и решил написал статью про это.

Что внутри?
- Как ускорить процесс загрузки
- Как улучшить разрешение
- Как предотвратить ошибки воспроизведения
- Ловушки и уроки
- Производительность с Jetpack Compose
- Влияние улучшений на продуктовые метрики
🔥8👍3
Вот обосрались, так обосрались! Даже жалко. Не так давно Google выкатили обновление Play (которое, как мы знаем, ставится автоматом, в обход всего). Обновление оказалось с приколом, часть пользователей получили нерабочие Pixel смартфоны. И кажется, пока не нашлось ни одного способа решить проблему удаленно на стороне Гугла. Вместо этого они где-то в третьей жопе своих форумов предлагают нормальным людям поставить ADB и повыполнять разного в терминальчике. Причем описан только golden path (в обоих, сука, смыслах: и когда все идет хорошо, и когда «спасибо, что только обоссали»), про приколы работы ADB в разных окружениях людям, видимо, придется расспрашивать Gemini.

#google #pixel #bug
😢6😁4😱2
Forwarded from Android Good Reads (Антон)
DIY: Твоя собственная библиотека для инъекции зависимостей

Лучший способ понять, какая библиотека для инъекции зависимостей вам нужна, — начать писать свою! Автор пишет DI-библиотеку и применяет ее на достаточно простом, но прикладном кейсе.

👉 Анти-паттерн. Если вы протаскиваете зависимость через десятки классов, только ради использования в последнем
👉 Автор изобретает заново шаг за шагом Google Guice, затем Dagger 1 и в конечном счете Dagger 2. Достаточно показательно, как приходили к существующим решениям в библиотеках
👉 Интересно было посмотреть, как генерируются factory-классы через KSP
👉 Красивая работа с аннотациями, которую можно рассматривать в отрыве от статьи

А что вы используете в проекте?
👍2🤝1
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
Jake Wharton решил исследовать как лучше делать маппинг набора значений в одну строку и какую лучше выбрать реализацию для этого по скорости/памяти. Массивы с лямбдой инициализации значений будут довольно полезны

#performance
👍7🔥1
Forwarded from Android Broadcast (Кирилл Розов)
This media is not supported in your browser
VIEW IN TELEGRAM
Device streaming в Android Studio стал доступен всех теперь находится в стадии открытой альфа-версии! Это означает, что вы можете получить доступ к сервису без регистрации в программе раннего доступа. Просто загрузите последнюю версию Canary версию Android Studio и привяжите проект Firebase.

Device Streaming позволяет тестировать приложения на реальных устройствах Android от различных производителей, расположенных в центрах Google, и все это прямо из Android Studio. Сервис можно использовать бесплатно пока он не вышел из Альфа статуса.

#androidstudio #firebase #testing
🔥6👍1