【发布时间】:2019-12-05 06:54:25
【问题描述】:
我正在尝试在 Android Studio 中构建我同事的项目,这需要 CMake SDK 来构建项目中包含的外部 c/cpp 文件。我遇到的问题是,尽管通过 SDK 管理器安装了 LLDB、NDK 和 CMake SDK 工具,但引用 cmake 路径的模块的 gradle 无法同步。我的同事已经安装并运行了这个项目并没有遇到这个问题,所以我怀疑它一定是我的环境设置中的问题。
到目前为止,我已经尝试卸载并重新安装 CMake SDK,刷新链接的 C++ 项目,并从 gradle 文件中删除对 cmake 路径的引用,并通过右键单击模块 -> Link C++ Project with Gradle 添加引用,但这些都不起作用。
当我在 gradle 中注释掉对我的 CMakeLists.txt 的引用时,它会同步,这表明问题与对 CMake 文件的引用有关。我还尝试在我的 CMakeLists.txt 文件中注释掉库引用,以查看是否由于文件中的引用而发生错误,但即使我注释掉所有内容,gradle 也无法同步。
这就是我的 gradle 文件的样子。
externalNativeBuild {
cmake {
path 'src/main/cpp/CMakeLists.txt'
}
}
当我在 build.gradle 中按同步(重试)时,错误消息只是显示
SIMPLE: Error configuring
当我忽略 gradle 同步失败的事实并尝试构建时,错误消息显示如下。
Cause: executing external native build for cmake <my_project_path>\src\main\cpp\CMakeLists.txt
编辑:添加了指向我的 Android Studio NDK 路径的图像捕获的链接(C:\Users\username\AppData\Local\Android\Sdk\ndk-bundle for Windows)。 NDK path Capture
【问题讨论】:
-
在android studio中ndk路径设置正确吗?
-
尝试给路径类似:externalNativeBuild { cmake { path "CMakeLists.txt" } }
-
@AshokKumar 我的 Android SDK 位置是 C:\Users\
\AppData\Local\Android\sdk。我还检查了该路径中是否有 ndk 文件夹。我还尝试了您将路径更改为“CMakeLists.txt”的建议,但由于“该文件不存在”而失败。 -
@e.cho 你找到解决办法了吗?
-
@HadiAhmadi 看起来其中一种 SDK 工具(LLDB、NDK 和 CMake)不向后兼容。在比较并还原每个 SDK 的版本以匹配我同事的版本后,我能够让错误消失。
标签: android android-studio gradle cmake android-gradle-plugin