How to check if APK is signed or "debug build"?
Solution 1:
To check the debuggable flag, you can use this code:
boolean isDebuggable = ( 0 != ( getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE ) );
Kotlin:
val isDebuggable = 0 != applicationInfo.flags and ApplicationInfo.FLAG_DEBUGGABLE
For more information, please see Securing Android LVL Applications.
Alternatively, if you're using Gradle correctly, you can check if BuildConfig.DEBUG
is true or false.
Solution 2:
Answered by Mark Murphy
The simplest, and best long-term solution, is to use BuildConfig.DEBUG
. This is a boolean
value that will be true
for a debug build, false
otherwise:
if (BuildConfig.DEBUG) {
// do something for a debug build
}