2013-07-13 10 views
6

Według dokumentacji Gradle, domyślna wartość "debuggable" a "release" buildType jest fałszywa. Jednak niezależnie od tego, czy jawnie ustawiłem go na false, czy nie, moja kompilacja wydania zawsze wydaje się być debuggable (widzę wyjście logcat). Czy błędnie interpretuję tę właściwość? Czy ktoś może mi wyjaśnić?Tworzenie wersji Gradle nadal debuggable?

Oto mój 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'] 
       } 
      } 
     } 
    } 
} 

Odpowiedz

7

Wyświetlanie programu logcat nie jest powiązane z tym, czy aplikacja jest dostępna do debugowania, czy nie.

Jeśli widzisz proces w DDMS, to twoja aplikacja jest dostępna do debugowania (chyba że szukasz emulatora, w którym to przypadku wszystkie aplikacje są uważane za możliwe do debugowania).

1

Aby mieć pewność, że debugowania nie jest dozwolone, można zadeklarować debuggable=false w tagu aplikacji w AndroidManifest.xml. Nie wiem, czy to pomoże w twoim przypadku.

6

Jeśli używasz Kompilacji -> Generuj podpisany plik APK w Androidzie Studio, używa on zadania gradacji assembleDebug zamiast assembleRelease. Spróbuj wykonać zadanie ręczne i debuggować flagę, która powinna być fałszywa