Отладочная / выпускная версия приложения для Android

1

У меня есть один вопрос о поиске, если ваше приложение находится в режиме деблокирования или отладки. Мне нужно найти способ автоматического обнаружения режима приложений с помощью функции. На данный момент я использую простой способ, объявляющий boolean который каждый раз, когда я должен изменить true/false. Но иногда я, или другой разработчик, может забыть изменить его. На самом деле мне это нужно, потому что я использую обработчик ошибок в своем приложении, которое отправляет на наш сервер исключения, которые не отображаются. И я не хочу делать это в режиме отладки.

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

  • 0
    Я не думаю, что вы можете сделать это просто. Вы можете попробовать извлечь атрибут android:debuggable вашего приложения из манифеста, но это, опять же, не на 100% достоверно.
  • 0
    Другой альтернативой может быть получение хэша подписи из apk и сравнение его с известными сигнатурами отладки / выпуска, используемыми для подписи вашего приложения.
Показать ещё 1 комментарий
Теги:
debugging
release-mode

2 ответа

1

Общее решение отсутствует, но вы можете использовать isDebuggerConnected.

НО это решение также запускает/показывает функции отладки, если ваши пользователи подключат свои телефоны к ПК и сами используют ddms.

Может быть, вы можете объединить это с одной из проверок, предложенных Aleks G, и всплывать сообщение Toast при каждом запуске, что напоминает вам отключить debug ;-)

0

Почему бы не использовать это?

if (BuildConfig.DEBUG) {
    // what shall happen in debug version
} else {
    // release version
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню