2015-09-05 19 views
11

Android Studio nicht an Haltepunkten in C++ Code zu stoppen, ist es das, was ich bisher getan habe:Wie funktioniert das NDK-Debugging in Android Studio?

  1. In AndroidManifest.xml:

    android:debuggable="true" 
    
  2. In build.gradle (dies kann das Problem sein):

    sourceSets.main { 
        jniLibs.srcDir 'src/main/libs' 
        jni.srcDirs = [] 
    } 
    
    task ndkBuild(type: Exec) { 
        commandLine android.ndkDirectory.getAbsolutePath() + '\\' + 'ndk-build.cmd', '-C', file('src/main/jni').absolutePath, 'NDK_DEBUG=1' 
    } 
    
    tasks.withType(JavaCompile) { 
        compileTask -> compileTask.dependsOn ndkBuild 
    } 
    
    1. konfigurieren, um die Anwendung als native Anwendung auf A ndroid Studio

    2. Put Stützpunkte in C++ Code

    3. Debug die App

Dies scheint zu funktionieren, weil es sagt: "Starten india Debug Session Now" außerdem kann ich pausieren die App mit der Stopptaste aber keinem Breakpoint funktioniert.

Vielen Dank für Ihre Hilfe

Antwort

5
  1. In Run-> Debug-Konfiguration "Debugger" Registerkarte wählen Debug-Typ als "Nativ". Wenn Android studio Konflikte meldet, akzeptieren Sie im Feld "Vor dem Start" die Empfehlung, es zu "reparieren". Android Studio wird die lldb-Bibliothek herunterladen.

  2. Klicken Sie auf den Debug-Button und warten Sie, bis der Debugger mit dem Prozess verbunden ist.

  3. Jetzt können Sie die Variablen im Debug windown sehen.

1

Sie dies versuchen:

1.in app/build.gradle:

bei Abhängigkeiten Label:

releaseCompile project(path:':youModuleName',configuration:'release') 
debugCompile project(path:':youModuleName',configuration:'debug') 

2.in youModule/build.gradle:

bei android-Label:

publishNonDefault true 

Demo:

https://github.com/sunalong/JNIDemo

Verwandte Themen