2013-07-13 116 views
6

根据Gradle文档,“debuggable”“release”buildType的默认值为false。但是,无论我是否明确地将其设置为false,我的发布版本似乎总是可调试的(我可以看到logcat输出)。我误解了这个属性?有人可以解释吗?Gradle发布版本仍然可调试?

这里是我的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'] 
       } 
      } 
     } 
    } 
} 

回答

7

查看logcat与应用程序是否可调试无关。

如果你在DDMS中看到进程,那么你的应用程序是可调试的(除非你正在查看模拟器,在这种情况下所有的应用程序都被认为是可调试的)。

1

要确保调试是不允许的,你可以在AndroidManifest.xml你的应用程序标签声明debuggable=false。不知道它是否会对你的情况有所帮助。

6

如果您在Android Studio中使用Build - > Generate Signed APK,则使用assembleDebug gradle任务而不是assembleRelease。尝试手动执行assembleRelease任务,并且可调试标志应为假

相关问题