2015-09-05 101 views
11

Android的工作室在C++代碼中的斷點不會停止,這是我到目前爲止已經完成:如何讓NDK調試在Android Studio中工作?

  1. 在AndroidManifest.xml:

    android:debuggable="true" 
    
  2. 在的build.gradle(此可能是問題):

    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 
    } 
    
  3. 配置該應用程序作爲A中的本機應用程序在C++代碼

  4. 調試應用程序ndroid工作室

  5. 認沽斷點

這似乎是工作,因爲它是說:「現在啓動本機調試會話」而且我可以暫停帶停止按鈕但沒有斷點的應用程序正在工作。

謝謝您的幫助

回答

5
  1. 在運行 - >調試配置 「調試」 選項卡中,選擇調試類型爲「本機」。在「發佈之前」,如果Android studio報告衝突,請接受「修復」它的建議。 Android工作室將下載lldb庫。

  2. 單擊「調試」底部,並等待調試器附加到進程。

  3. 現在您可以在調試windown中看到變量。

1

你可以試試這個:

1.in應用程序/的build.gradle:

在依賴標籤:

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

2.in youModule/build。gradle這個:

在機器人標籤:

publishNonDefault true 

演示:

https://github.com/sunalong/JNIDemo