Как стать автором
Обновить
17
0

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

Отправить сообщение

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

Время на прочтение6 мин
Количество просмотров21K

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

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

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

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


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

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

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

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

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

Время на прочтение7 мин
Количество просмотров18K

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

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

Читать дальше →
Всего голосов 29: ↑25 и ↓4+21
Комментарии12

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

Время на прочтение3 мин
Количество просмотров35K

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

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

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

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

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

Время на прочтение11 мин
Количество просмотров48K


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

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

Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии10

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

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

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

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

Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии26

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность