繁体   English   中英

外部原生构建问题 Android Studio NDK 示例 HelloJni(构建失败)

[英]External Native Build Issues Android Studio NDK Sample HelloJni (Build Failed)

错误:为 cmake C:\\Users\\PC1\\Desktop\\ndkdata\\GDNdkText\\app\\CMakeLists.txt 执行外部本机构建

构建时出错:

错误图像

我已经安装了这里提到的 NDK、CMake、LLDP。 我是否需要安装任何其他工具或需要设置任何环境变量?

打开终端并运行以下命令:

gradlew build --stacktrace

在此处输入图片说明

如果在 Linux 下运行,则需要安装 Ninja。 sudo apt 安装忍者构建

今天测试了。

你必须使用自制软件安装忍者

brew install ninja

您还需要安装ncurses5 (对于 arch-linux,其 AUR 包 - ncurses5-compat-libs ),因为 Android Studio 2.2 上的 NDK 支持不使用可能已安装在您的系统上的 ncurses6。

我通过检查日志文件解决了我的问题。

./app/.cxx/cmake/commonDebug/x86/android_gradle_generate_cmake_ninja_json_x86.stderr.txt

我认为问题是 CMakelist.txt 文件的位置错误。

尝试将 CMakelist.txt 文件从您的应用程序根目录移动到 app/src/main/cpp/CMakelist.txt 目录,然后从 gradle 文件更新位置,如下所示:

externalNativeBuild {
    cmake {
        path "src/main/cpp/CMakeLists.txt"
    }
}

如果你想让你的项目不包含任何 C++ 文件,请确保你没有选中在新项目开始时包含 C++ 的框

我在导入同事工作区时遇到了这个问题。 我们收到外部本机构建错误。 IDE 似乎忽略了很多 CMake 命令。

事实证明,问题是我没有按照上面 ariel 帖子中的建议安装 Ninja。 我通过运行gradlew build --stacktrace发现了这一点,并发现一行抱怨没有安装 Ninja。 注意:我们是在linux环境下开发的。

Ninja 是一个注重速度的构建系统,用于在有大量输入文件的系统中替换make 忍者维基

一旦我安装了 ninja,一切都完美无缺!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM