Определение DEVELOPER_MODE для StrictMode
Я с нетерпением жду открытого выпуска StrictMode для продолжения разработки нашей платформы. Образец в Запись в блоге Android предлагает окружение вызовов StrictMode с помощью
if (DEVELOPER_MODE) {
...
}
Для разработки SDK я ожидал бы, что эта константа будет локально определена каждым приложением. Тем не менее, для разработки платформы, android.util.Config.DEBUG
лучший способ определить, включать ли это?
Ответы
Ответ 1
Извините, DEVELOPER_MODE было просто произвольным именем, которое я выбрал для сообщения в блоге и Javadoc. Возможно, я должен сделать это более ясным в документах.
Я бы предположил, что люди сделают свои жестко закодированные,
private static final boolean DEVELOPER_MODE = false;
..., которые они поддерживают вручную, но похоже, что Config.DEBUG было бы лучше использовать. Я даже не знал об этом!:)
Ответ 2
Config.DEBUG на самом деле не работает, поскольку он почти всегда установлен в false. Лучше посмотреть на отлаживаемый атрибут в файле AndroidManifest. Я зарегистрировал его в блоге. Ссылки с этим ответом
Ответ 3
Отвечать на мой вопрос...
Будучи разработчиком платформы (один из которых использует Android для создания устройства), Activity Manager в Android автоматически включает StrictMode в основной поток для всех приложений, установленных на системном разделе, когда платформа построена с использованием eng или userdebug. Я согласен с Manfred в том, что Config.DEBUG не подходит для разработчиков SDK. По сути, разработчики платформ, записывающие приложения, которые по умолчанию загружаются в системный раздел, не должны ничего делать, чтобы воспользоваться StrictMode - платформа делает это для них.
Ответ 4
Это старый вопрос, но я хотел бы упомянуть, что ближайшая альтернатива, которую я могу себе представить, - это BuildConfig.DEBUG
для инженеров приложений. Он возвращает, является ли это сборкой отладки.