Определение 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 для инженеров приложений. Он возвращает, является ли это сборкой отладки.