Значение «debuggable» для Android

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

packageInfo = context.getPackageManager().getPackageInfo(packageName, 0); int flags = packageInfo.applicationInfo.flags; isDebugMode = (flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0; 

И я заметил, что когда отлаживаемый атрибут не указан в манифесте, этот код определяет его как истинный. И документация говорит, что она по умолчанию неверна.

Что не так?

Solutions Collecting From Web of "Значение «debuggable» для Android"

Из инструментов SDK : (SDK Tools, редакция 8 (декабрь 2010 г.))

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