Что произойдет, если Android-приложение будет выпущено с возможностью отладки?

Золотое правило заключается в том, чтобы отключить отладочную опцию до того, как вы отпустите приложение Android для публики.

Что произойдет, если я уйду (забудьте выключить) эту опцию? Я имею в виду, как это проявится пользователю?

Я тестировал и не видел разницы.

Ответ 1

как это проявится пользователю?

Обычный пользователь не заметит разницы.

Кстати:

Поддержка подлинной сборки отладки. Разработчикам больше не нужно добавлять атрибут android: debuggable в тег в манифесте - инструменты сборки автоматически добавляют атрибут. В Eclipse/ADT все инкрементные сборки считаются сборками отладки, поэтому инструменты вставляют android: debuggable = "true" . При экспорте подписанной сборки выпуска инструменты не добавляют атрибут. В Ant команда отладки ant автоматически вставляет атрибут android: debuggable = "true" , а ant release - нет. Если андроид: debuggable = "true" установлен вручную, то ant релиз фактически сделает сборку отладки, а не сборку выпуска.

Ответ 2

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

Для подробного описания этой проблемы см. https://labs.mwrinfosecurity.com/blog/2011/07/07/debuggable-apps-in-android-market/.

Ответ 3

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

Что касается золотого правила, вы абсолютно правы. Это хорошая идея, чтобы отключить это, чтобы быть в безопасности.

Ответ 4

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

Одна хорошая практика - связать режим отладки специально с вашим уникальным идентификатором устройства.