23

I am trying to get application's debuggable attribute value from code:

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

And I have noticed that when debuggable attribute is not specified in manifest this code defines it as true. And documentation says that it is false by default.

What's wrong?

darja
  • 4,875
  • 9
  • 32
  • 46

1 Answers1

74

From SDK Tools : ( SDK Tools, Revision 8 (December 2010) )

Support for a true debug build. Developers no longer need to add the android:debuggable attribute to the <application> tag in the manifest — the build tools add the attribute automatically. In Eclipse/ADT, all incremental builds are assumed to be debug builds, so the tools insert android:debuggable="true". When exporting a signed release build, the tools do not add the attribute. In Ant, a ant debug command automatically inserts the android:debuggable="true" attribute, while ant release does not. If android:debuggable="true" is manually set, then ant release will actually do a debug build, rather than a release build.

Idolon
  • 27,761
  • 12
  • 95
  • 123
OcuS
  • 5,260
  • 3
  • 35
  • 45