2015-11-19 11 views
17

Aus irgendeinem Grund muss ich meine Android App im Freigabemodus ausführen. Ich muss den Code beim Ausführen der App durchlaufen, genau wie wir im Debug-Modus verwenden. Meine Breakpoints treffen nicht, wenn ich im Release-Modus laufe. Ich habe android:debuggable="true" in Manifest hinzugefügt. Trotzdem trifft der Breakpoint nicht. Irgendeine Hilfe.Debuggen der Android App im Freigabemodus mit Android Studio

Vielen Dank im Voraus

Antwort

6

In meinem Fall habe ich die Debug-Konfiguration erstellt wie die vorherige Version Build und Debugging gestartet. Es bedeutet, dass Sie in Build Debug-Version auch Build Build Gradle geben müssen.

So wird es das gleiche Zeichen wie Release-Build haben und Sie können debuggen, wenn es ausgeführt wird.

14

In Ihrer gradle-Datei müssen Sie debug Fähigkeit in Ihrem Release Geschmack hinzufügen.

> buildTypes { 
>  release { 
>   debuggable true 
>   minifyEnabled false 
>   signingConfig signingConfigs.release 
>   proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
>  } 
>  debug { 
>   debuggable true 
>   minifyEnabled false 
>   applicationIdSuffix '.debug' 
>  } 
    } 

signingConfig ist Release-Konfiguration in gradle Datei in Android {} Block, so etwas wie dies muss hinzugefügt werden:

signingConfigs { 
     release { 
      keyAlias 'YourAppKey' 
      keyPassword 'somePassword' 
      storeFile file('appkeyfile.jks') 
      storePassword 'somePassword' 
     } 
    } 
+0

danke für Ihre schnelle Antwort. Lassen Sie mich überprüfen, –

+0

Ich habe dies in meinem Build Gradle hinzugefügt. Aber ich habe keine signingConfigs.release Datei. Meine signingConfig signiert configs.config. Wie kann ich einen für die Freigabe generieren? –

+0

@ BaziPaleri, antwort update – once2go

1
buildTypes { 
    release { 
    debuggable true 
    minifyEnabled true 
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
} 
} 

glücklich coding.Mark diese Antwort up..if es hilft .. :)

+0

danke für Ihre schnelle Antwort. Lass mich überprüfen –

+1

Es ist da. Immer noch nicht schlagen :( –

0

Es gibt keinen "Freigabemodus". Worauf Sie sich beziehen, ist der Build-Typ, dh die Schritte, die während des Bauens ausgeführt werden (wie das Reduzieren usw.). Die Einstellung android:debuggable="true" wird nicht automatisch helfen, denn wenn Sie die App statt "Debug" ausführen, verbinden Sie den Debugger nicht damit, damit es nicht aus diesem bestimmten Grund stoppt.

So können Sie Ihre Debug-Build auf die gleiche Weise Release erstellt werden, ist aber ziemlich unklar, was ist der Grund für Ihre Notwendigkeit, und ich habe das Gefühl, Sie versuchen, den falschen Weg zu gehen (dh Debugging ist in der Regel nicht ProGuard verwenden, während Release Build ist und ProGuard ändert die resultierende Binärdatei, so dass Ihre Breakpoints aus der Quelle sowieso nicht wirklich funktionieren).