gpt4 book ai didi

android - 调试不适用于 Android Studio 的 C++/ native 库模块(使用 Cmake)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:27:17 24 4
gpt4 key购买 nike

我在调试库模块的 C++ 文件时遇到问题。

一般情况下这可能吗?

如果应用程序项目包含 C++ 代码,则调试工作正常。但我想将 C++ 代码移动到库模块。

启动 session 时的错误消息:

现在启动 native 调试 session

注意!未找到符号目录 - 请检查您的 native 调试配置

我的lib的gradle文件:

apply plugin: 'com.android.library'


android {
compileSdkVersion 24
buildToolsVersion "25.0.2"
defaultConfig {

minSdkVersion 16
targetSdkVersion 21
versionCode 1
versionName "1.0"
externalNativeBuild {
cmake {
arguments "-DANDROID_PLATFORM_LEVEL=${11}",
'-DANDROID_TOOLCHAIN=clang', '-DANDROID_STL=gnustl_static'
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-annotations:24.2.0'
}

在运行配置中,调试器设置为自动

enter image description here


添加:

我正在使用:

Gradle :2.2.3

安卓工作室:2.2.3


在 LLLB 控制台中,我检查了断点列表:

断点列表-v

我所有的检查点都列在那里。

断点不工作

1: file = 'C:\android-dev\...\test.cpp', line = 19, exact_match = 0

..就这些

工作断点

1: file = 'C:\android-dev\...\test.cpp', line = 19, exact_match = 0
1.1:
module = C:\android-dev\...\test.so
compile unit = gl_code.cpp
function = testFunc(..)
location = C:\android-dev\...\test.cpp:16
address = 0x0000007f871d068c
resolved = true
hit count = 1

最佳答案

原因似乎是,创建了 lib 的发布版本,它不支持调试,即使应用程序是使用调试选项构建的。

解决方案:

要解决此问题,请执行以下解决方法。它确保构建调试版本。


在您的应用程序 build.gradle 中更改:

compile project(':nativelib')

compile project(path: ':nativelib' , configuration: 'debug')

在 libs build.gradle 添加:

android {

publishNonDefault true //this line

compileSdkVersion 24
buildToolsVersion "25.0.2"
defaultConfig {
...
}
...
}

更新:

请参阅 google 问题以获取更新:

https://code.google.com/p/android/issues/detail?id=222276

关于android - 调试不适用于 Android Studio 的 C++/ native 库模块(使用 Cmake),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41822747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com