Android 'debuggable' default value
Asked Answered
S

1

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?

Selda answered 18/4, 2011 at 10:9 Comment(0)
A
76

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.

Altercation answered 18/4, 2011 at 10:39 Comment(1)
any info about gradle in 2018? Same storyHerwin

© 2022 - 2024 — McMap. All rights reserved.