We Love Android – Telegram
We Love Android
630 subscribers
259 photos
26 videos
4 files
630 links
Новости из мира Android-разработки
Download Telegram
Forwarded from Android Broadcast
#compose

Migrating Architecture Blueprints to Jetpack Compose (7 мин)

У Google есть репо с примерами разных архитектур на Android Architecture Blueprints. Решили они в него впихнуть Compose вместо View, Flow вместо LiveData. Статья про то как происходила эта миграция. Все ветка с миграцией здесь (коммиты по каждому шагу)
Forwarded from Android Guards
Рубрика "Лайфхаки": Реальный девайс чаще всего оказывается лучше и удобнее эмулятора. За одним исключением - он лежит где-то там и его надо брать в руки чтобы что-то рассмотреть, да и следить за фидбэком приложения так не всегда удобно. Для решения этой проблемы я обычно использую scrcpy. Эта утилита будет отображать все происходящее на экране смартфона прямо у вас на мониторе. Выглядит как эмулятор, только без всех его минусов. Обратная связь етественно есть, можно тыкать на экран смартфона, можно в окно на компьютере. Работает быстро и бесплатно.
👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Выпадающее анимированное меню на Jetpack Compose

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

Как использовать: https://github.com/AndroidPoet/Dropdown

#android #библиотеки
Forwarded from Mobile AppSec World (Yury Shabalin)
Способы определения и способы обхода обнаружения отладки приложения.

Хорошая статья на корейском языке, которая описывает способы обнаружить, что приложение пытаются отладить или устройство подключено к компьютеру и активирован режим отладки по USB.

Вообще, наверное, самая полная статья по этому вопросу. Если вы, как и я не знаете корейский, то вот ссылка на переведенный вариант (спасибо гугл-транслейт)

Будет полезно как для разработки, чтобы включить эти проверки к себе в приложение, так и для тех, кто эти проверки собирается обойти 😄 не проходите мимо, забирайте и используйте, метод обнаружения достаточно интересный, особенно по сравнению с классическим android.os.Debug.isDebuggerConnected(),на который проверяют все популярные фреймворки по обнаружению отладчика.

#android #debug #frida
👍1
Forwarded from Mobile AppSec World (Yury Shabalin)
Быстрый способ проверить наличие обфускации, тип шифрования apk и различных проверок

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

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

|-> anti_vm : Build.FINGERPRINT check, Build.MANUFACTURER check, Build.MODEL check, Build.PRODUCT check, Build.TAGS check, SIM operator check, device ID check, network operator name check, ro.kernel.qemu check
|-> compiler : r8
|-> obfuscator : unreadable field names, unreadable method names

То есть, теперь нет необходимости вручную смотреть, какие проверки есть внутри приложения и что нужно подменять, а достаточно запустить простую команду, передать ей на вход имя файла и получить результат.

Конечно, инструмент не покрывает всех проверок, но в качестве отправной точки может неплохо помочь.

Удачного использования!

#android #obfuscation #apk #emulation
👍2
Forwarded from Android Broadcast
#testing #coroutines

Google обновила руководство по тестированию Coroutine с учетом изменений в библиотеке Kotlinx Coroutines 1.6:
👉 как вызывать suspend функции в тестах
👉 новые TestDispatcher
👉 подмена Dispatcher-ов
👉 тестовые CoroutineScope
👍1
Forwarded from StartAndroid
Новая стабильная версия студии - Chipmunk. Не очень много новых фич, но включены последние апдейты IntelliJ, и проведена работа над качеством и стабильностью.

#androidstudio

https://android-developers.googleblog.com/2022/05/android-studio-chipmunk.html
Forwarded from Mobile Compose
#Article #Blog

Productivity hack to save tens of engineering hours when working with Jetpack Compose

Любопытная статья с кликбейтным заголовком от Vinay Gaba о том, как микрооптимизация автодополнения кода вашего проекта на Compose поможет сэкономить десятки (по мнению автора) часов работы в год.
Forwarded from addmeto (Grigory Bakunov 🧪)
Google прямо сейчас проводит кейноут Google I/O 2022. Да, я тоже удивился, узнал об этом случайно, а там вероятно покажут новые Pixel Buds и Pixel Watch, лайв трансляция по ссылке https://www.youtube.com/watch?v=nP-nMZpLM1A
Forwarded from Android Live 🤖
​​Koin 3.2 - New DSL
#koin

Тут совсем недавно вышло крутое обновление библиотеки Koin, которое позволяет гораздо проще настраивать сам Koin — Constructor DSL.

Раньше типичный модуль в Koin выглядел следующим образом:

class MyClassA()
class MyClassB(val a : MyClassA)

// Let Koin find dependencies for you with get()
module {
single { MyClassA() }
single { MyClassB(get()) }
}


Как видно, в MyClassB нужно добавить get() по количеству параметров, которые в этот класс передаются. Если таких параметров будет много, то и число этих get() будет кратно увеличиваться.

В новой же версии мы получаем более удобную структуру:

class MyClassA(val id : String)

module {
singleOf(::MyClassA)
}

// in calling code
val classA : MyClassA by inject { parametersOf("_id_")}


То есть теперь все вызовы get() останутся в прошлом, и мы получим гораздо более красивый и читаемый код.
Больше примеров кода и инфа о других изменениях по ссылке.
👍2
Счетчик рекомпозиций - фича, о которой давно просило Android сообщество, уже совсем близко.

https://developer.android.com/studio/preview/features#li-compose-counter
👍1🔥1
Forwarded from Mobile Native ️️
Google Play SDK Index

Google представили прикольную штуку Google Play SDK Index – некий новый общедоступный портал, на котором собраны более 100 наиболее широко используемых коммерческих SDK с подробной инфой о каждом из них.

Посмотреть доступные sdk можно тут: Google Play SDK Index
Приложение Now in Android от Google, совмещающее в себе несколько полезных практик разработки

Now in Android — серия материалов от команды Android, в которых рассказывают о новостях, интересных статьях и крутых инструментах для Android-разработчиков.

Google опубликовала исходный код приложения Now in Android. В репозитории на GitHub вы можете познакомиться с примером реализации дизайна на Material3, а также с передовыми практиками разработки.

Репозиторий: https://github.com/android/nowinandroid

#android
👍2
Forwarded from Стой под стрелой (Nikita Prokopov)
В истории программирования много раз брали на лозунги шаблон Everything is a X:

- Everything is a string (TCL)
- Everything is a list (Lisp)
- Everything is a file (Unix)
- Everything is an object (OOP)
- Everything is a function (FP)

И знаете что? Каждый раз эта абстрация протекала сразу с момента ее создания. Медленно/неудобно/все равно нужно различать и т.п.

Когда нам в школе рассказывали про «everything is a file» я очень удивлялся: очевидно же, что, например, с сокетом, или с процессом, или с принтером ты хочешь делать совсем не те операции, что с файлом. Оказалось, что имеелось в виду, что в виде файла доступна какая-то ненужная тривиальщина типа пида процесса, я для нормальной работы есть нормальные специальные методы, которые не притворяются, что «все есть файл». И чего было заморачиваться, спрашивается?

Есть мнение, что и в будущем next big thing которая выберет своим лозунгом Everything is X окажется такой же дырявой еще на этапе создания. Потому что мир разный, работает по-разному и хотят от разных вещей разного. Засовывать круглое в квадратное так же логично, как носить кастрюлю в качестве головного убора. А притворяться, что это еще и удобно — ну это только программисты так могут.

Nothing is everything, короче.
👍1
Новое поделие: Media3 (от создателей ViewPager2, Camera2 и CameraX)

https://www.youtube.com/watch?v=Z6iFhczA3NY
😁1🤬1
Forwarded from Mobile Compose
#Video #Youtube #GoogleIO

Performance best practices for Jetpack Compose

Доклад с прошедшего Google I/O 2022, в котором спикеры рассказывают о лучших практиках Jetpack Compose в отношении производительности, а также о связанных с этим распространённых ошибках и способах их избежать.
Forwarded from Android Good Reads (Egor Tolstoy)
Поддержка MotionLayout в Jetpack Compose все еще в экспериментальном состоянии, но работать с ней вполне можно. В гайде разбирается, как с помощью MotionLayout анимировать несколько связанных между собой компонентов.
Forwarded from Mobile AppSec World (Yury Shabalin)
Доклады о мобильной безопасности с Positive Hack Days

Как вы знаете, на неделе прошла конференция Positive Hack Days и на ней были доклады про безопасность мобильных приложений.

Я ещё не все разобрал, но вот парочка достаточно интересных, которые можно посмотреть уже сейчас:

- Интервью эксперта о безопасности мобильных приложений
Достаточно интересный разговор про безопасность мобилок, текущую ситуацию с магазинами, основные вектора угроз и всякое такое. Послушать, как подкаст вполне.

- Уязвимое мобильное приложение AllSafe глазами аналитика
Доклад от аналитиков Appscreener (статический анализатор), про уязвимое приложение и разбор нескольких уязвимостей в нем, как искать и как эксплуатировать:
* Sql Injection
* Arbitrary code execution
* Insecure Content Provider

А вот и сам код приложения. Что приятно, автор на каждый «флаг» дает ссылки на статьи/репорты о реально найденных подобных багах.


По мере просмотра, если найду что-то интересное из докладов, обязательно расскажу :)

#phd #video #mobile