Определение DEVELOPER_MODE для StrictMode - PullRequest
11 голосов
/ 15 декабря 2010

Я с нетерпением жду релиза StrictMode с открытым исходным кодом для продолжения разработки нашей платформы. Пример в записи блога Android предлагает окружить вызовы StrictMode

if (DEVELOPER_MODE) {
    ...
}

Для разработки SDK я бы ожидал, что эта константа будет определяться локально каждым приложением. Однако, для разработки платформы, android.util.Config.DEBUG лучший способ определить, включить ли это?

Ответы [ 4 ]

16 голосов
/ 18 декабря 2010

Извините, DEVELOPER_MODE было просто произвольным именем, которое я выбрал для поста в блоге и Javadoc. Возможно, мне следует разъяснить это в документации.

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

private static final boolean DEVELOPER_MODE = false;

... что они поддерживают вручную, но похоже, что Config.DEBUG было бы лучше использовать. Я даже не знал об этом! :)

4 голосов
/ 07 января 2011

Config.DEBUG на самом деле не работает, так как он почти всегда имеет значение false Лучше взглянуть на атрибут debuggable в файле AndroidManifest. Я задокументировал это в своем блоге. Ссылки с этим ответом

1 голос
/ 10 августа 2017

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

1 голос
/ 13 января 2011

Ответить на мой вопрос ... Как разработчик платформы (использующий Android для создания устройства), Activity Manager в Android автоматически включает StrictMode в главном потоке для всех приложений, установленных в системном разделе, всякий раз, когда платформа собирается с помощью eng или userdebug. Я согласен с Манфредом, что Config.DEBUG не подходит для разработчиков SDK. По сути, разработчики платформы, пишущие приложения, которые по умолчанию загружаются в системный раздел, не должны ничего делать, чтобы воспользоваться преимуществами StrictMode - платформа делает это за них.

...