Reputation: 7652
According to the Gradle docs, the default value for "debuggable" a "release" buildType is false. However, whether I explicitly set it to false or not, my release build always seems to be debuggable (I can see logcat output). Am I misinterpreting this property? Can someone please explain?
Here's my build.gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4.2'
}
}
apply plugin: 'android'
dependencies {
compile project(':facebook-android-sdk-3.0.1:facebook')
compile project(':google-play-services_lib')
compile project(':nineoldandroids')
compile project(':SlidingMenu-master:library')
compile project(':ViewPagerIndicator')
compile project(':volley')
compile project(':windowed-seek-bar')
compile files('compile-libs/androidannotations-2.7.1.jar', 'libs/Flurry_3.2.1.jar', 'libs/google-play-services.jar', 'libs/gson-2.2.4.jar', 'libs/picasso-1.1.1.jar', 'libs/crittercism_v3_0_11_sdkonly.jar', 'libs/gcm.jar', 'libs/apphance-library.jar')
}
android {
buildToolsVersion "17.0"
compileSdkVersion 17
signingConfigs {
debug {
storeFile file('keystores/debug.keystore')
}
release {
storeFile file('keystores/release.keystore')
storePassword "***"
keyAlias "***"
keyPassword "***"
}
}
buildTypes {
release {
signingConfig signingConfigs.release
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src', 'normal']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
}
}
Upvotes: 7
Views: 7931
Reputation: 361
To be sure that debug is not allowed, you can declare debuggable=false
in your application tag in the AndroidManifest.xml. Don't know if it will help in your case.
Upvotes: 2
Reputation: 1548
If you're using Build -> Generate Signed APK in Android Studio, it's using assembleDebug
gradle task instead of assembleRelease
. Try executing assembleRelease
task manually and debuggable flag should be false
Upvotes: 6
Reputation: 28539
Viewing logcat is not tied to whether the app is debuggable or not.
If you see the process in DDMS then your app is debuggable (unless you're looking at an emulator in which case all apps are considered debuggable).
Upvotes: 8