Как заставить отладку NDK работать в Android Studio?
в Android Studio не останавливается на точках останова в коде на C++, это то, что я сделал до сих пор :
-
В AndroidManifest.XML-код :
android:debuggable="true"
-
в 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 }
настроил приложение как родное приложение на Android Studio
поставить точки останова в коде C++
отладка app
это, кажется, работает, потому что он говорит : "теперь запуск собственного сеанса отладки", кроме того, я могу приостановить приложение с помощью кнопки "стоп", но точка останова не работает.
Спасибо за помощь
7 ответов
по синтаксису вашей сборки.gradle выглядит так, как будто вы не используете экспериментальный плагин для gradle, без него вы не сможете отлаживать родной c / C++ в Android studio. Для получения дополнительной информации прочитайте это : Android NDK предварительный просмотр
на вкладке Run->Debug Configuration "Debugger "выберите тип отладки как"Native". В поле "перед запуском", если Android studio сообщает о конфликтах, примите рекомендацию "исправить" его. Android studio загрузит библиотеку lldb.
нажмите на "отладка" внизу и подождите, пока отладчик не будет подключен к процессу.
теперь вы можете увидеть переменные в окне отладки.
Если вы все еще ищете, Android Studio недавно добавила поддержку прямой интеграции проектов ndk-build и CMake:http://tools.android.com/tech-docs/external-c-builds
с наилучшими пожеланиями, Джомо!--3-->
вы можете попробовать это:
1.в app / build.Gradle в:
на ярлык зависимостей:
releaseCompile project(path:':youModuleName',configuration:'release')
debugCompile project(path:':youModuleName',configuration:'debug')
2.в youModule / build.Gradle в:
на ярлыке андроида:
publishNonDefault true
демо:
Android Studio 3
Android Studio 3 делает весь процесс тривиальным.
для начала, получить ваши руки на простой пример приложения, такие как: https://github.com/googlesamples/android-ndk/tree/2020d9674a6601e8219eed2921f5028beb856a24/hello-gl2/
затем просто установите точки останова на C++ или Java и выполните: Run > Debug
вы также можете войти родной называет из Java и попадают в C++ код.