Pull to refresh
17
0

Пользователь

Send message

7 основных причин, почему блокируют приложения в Google Play и AppStore

Reading time6 min
Views21K

Наверняка, за последнее время доводилось видеть много страшных историй о том, как блокируют приложения в Google Play и AppStore. Все это связано с привлечением большого внимания к информационной безопасности приложений, а точнее, к факту ее отсутствия.
Читать дальше →
Total votes 29: ↑22 and ↓7+15
Comments25

Причины возникновения ANR и как этого избежать

Reading time4 min
Views30K
ANR (Application Not Responding) — ошибка, которая возникает, когда приложение не отвечает. В итоге открывается диалоговое окно, предлагающее пользователю подождать или закрыть приложение.
image alt

Условия возникновения ANR


  • Входные события (кнопки и сенсорные события) не обрабатываются в течение 5 секунд;
  • BroadcastReceiver (onRecieve()) не был обработан в течение указанного времени (foreground — 10 с, background — 60 с);
  • ContentProvider не завершен в течение 10 секунд.

Обычно основной поток блокируется.

Если вы читали мои статьи, то наверно уже привыкли к тому, что мы лезет в исходный код. Так что давайте посмотрим как выглядит ANR под капотом.

Класс AppErrors занимается обработкой не только ANR, но и других ошибок, которые могут возникнуть в приложении, включая crash. Метод handleShowAnrUi() как раз и открывает это страшное для многих разработчиков и пользователей окно, отображающее ANR.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments0

Как работает ProGuard

Reading time7 min
Views18K

Если вы когда-либо задумывались о безопасности своего приложения, либо как-то хотели оптимизировать свой код, то, наверняка, вы знаете что такое ProGuard. Возможно, вы уже пострадали от него или смогли превозмочь документацию, парочку статей на просторах и разобрались, что там к чему.

В данной статье я не буду рассказывать ни о том, как прописывать keep rules или о каких-то полезных опциях. На мой взгляд для того чтобы втащить в проект ProGuard вполне достаточно просмотреть прикрепленные к нему туториалы. Я буду разбирать как именно работает ProGuard с точки зрения кода. И если вы заинтересованы — добро пожаловать под кат.

Читать дальше →
Total votes 29: ↑25 and ↓4+21
Comments12

Подводные камни идентификации Android-устройства

Reading time3 min
Views35K

Некоторым разработчикам может понадобится идентифицировать Android-устройства своих пользователей. Чаще всего это делается не для того чтобы распознать именно девайс, а для определения конкретной установки приложения. Также я встречала несколько кейсов, когда это было необходимо, если у разработчика появлялось несколько приложений и он хотел понимать, что они работают в одной среде.

Гугл говорит, что идентифицировать устройство очень просто. Но мы же говорим об Android:)

Данная статья ориентирована на приложения или библиотеки, которые не хотят привязываться к гугловым сервисам.

Итак, давайте погрузимся в это чудесное приключение по получению уникального идентификатора устройства.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments37

Как работает SystemUI в Android

Reading time11 min
Views48K


В этой статье я разберу архитектуру и принцип работы основного приложения Android — SystemUI. Меня заинтересовала эта тема, потому что мне интересно, как устроена система, которой пользуется такое огромное количество пользователей и для которой ежедневно выкатываются тысячи приложений в Google Play или просто на просторы интернета. Помимо этого меня интересует вопрос информационной безопасности Android и создаваемых под него приложений.

В системе Android, SystemUI — это приложение, путь к исходному коду которого находится в platform_frameworks_base/packages/SystemUI/, на девайсе оно находится в system/priv-app/-SystemUI.

Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments10

Все снапшоты попадают в рай

Reading time4 min
Views11K
image altСейчас все мы используем банковские приложения. Это удобно, быстро и, как нам кажется, безопасно. Банки даже ввели дополнительные pin-коды для того чтобы даже если вы потеряете свой телефон или если он попадет в руки постороннего человека ваши средства и конфиденциальные данные были защищены. И это так классно! Банки заботятся о нашей безопасности!

Но, к сожалению, если вы откроете то же банковское приложение в таск менеджере, то вы увидите все содержимое его экрана (например, информацию по счету, банковской карте, чат, в котором вы что-то обсуждали с сотрудником банка). Вы можете проверить это на установленных у вас банковских приложениях. Я изучила все наиболее известные — и все они не скрывают конфиденциальную информацию, когда вы находитесь в фоновом режиме.

Для примера я заскринила абстрактные банки, на абстрактных страницах. И сейчас сразу же задам вам вопрос: вы собрались перевести деньги своей маме/подруге/собаке, вы уже находитесь на странице перевода и вышли из приложения, чтобы скопировать код из sms (если вы в порыве паранойи запретили банковскому приложению доступ), или посмотреть какую-нибудь информацию. Но когда вы вновь решите вернуться в ваше банковское приложение, какой экран вы выберите?

Читать дальше →
Total votes 29: ↑26 and ↓3+23
Comments26

Information

Rating
Does not participate
Registered
Activity