【问题标题】:Error:Error occurred while communicating with CMake server错误:与 CMake 服务器通信时发生错误
【发布时间】:2018-05-03 18:45:04
【问题描述】:

我正在尝试在 Windows 10 上从 Android Studio 3.0 构建一个简单的原生应用。当我尝试构建该应用时,我收到以下错误:

“错误:与 CMake 服务器通信时出错。请检查日志 xxx\Native\app.externalNativeBuild\cmake\debug\armeabi-v7a\cmake_server_log.txt 以获取更多信息。”

并且日志包含:

“CMAKE服务器: CMAKE 服务器:[==“CMake 服务器”==[ CMAKE SERVER: {"supportedProtocolVersions":[{"isExperimental":true,"major":1,"minor":1}],"type":"hello"} CMAKE 服务器:]== "CMake 服务器" ==]"

我已经按照官方文档的要求创建了“CMakeLists.txt”..

关于如何解决此问题的任何建议? 谢谢!

【问题讨论】:

  • 同样的问题,我的问题是手动编译的cmake。从stackoverflow.com/questions/41218241/… 安装 cmake 修复它!
  • 似乎 AndroidStudio 目前无法与 CMake 3.10 一起使用。问题的一个可能来源是 cmake-server 协议版本(到 1.1)的颠簸,但我找不到 Google 的 Adnroid Gradle 插件的来源来确认这一点,而且他们的错误日志充其量是模糊的。
  • 花了几个小时试图让它工作,希望能够为 C++ 17 编译。无论出于何种原因,降级 CMake 仍然不起作用,尽管从 3.9.x 开始它似乎通过了服务器版本检查。我决定继续使用 C++ 14 和 NDK 提供的 CMake 3.6 二进制文件,并使用 string_view 的反向移植,因为这就是我从 C++ 17 需要的全部内容。

标签: android c++ cmake


【解决方案1】:

实际上,问题在于 Gradle 将 cmake-server 的调试输出解释为错误并失败。它发生在com.android.tools.build:gradle:3.0.0 上,但它从com.android.tools.build:gradle:3.1.0 开始正常工作。

如果由于某种原因(插件等)您无法更新到 3.1.0,您可以将 cmake 替换为 python 包装器,并通过删除此确切输出来过滤输出:

[== "CMake Server" ==[

{"supportedProtocolVersions":[{"isExperimental":true,"major":1,"minor":1}],"type":"hello"}

]== "CMake Server" ==]

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。这对我有用。

    转到 SDK 管理器 --> Android SDK --> SDK 工具 --> CMake。

    然后从 SDK 管理器安装 CMake。 如果你没有得到,只需检查图像 我的意思。

    【讨论】:

    • 选中“显示包详细信息”复选框以查看每个工具的可选版本,并安装/卸载适合您的工具。对我来说,用 CMake 3.6 替换 CMake 3.10.2 完成了这项工作。
    • 卸载 CMake 3.10.2 并安装 3.6.4111459 也对我有用。
    • @RanSh Replace CMake 3.10.2 with CMake 3.6 对我有用,谢谢!
    【解决方案3】:

    我得到了完全相同的错误,即使使用 kevvex 的解决方案,android studio 也报告了同样的错误。

    我与另一台运行 windows 10 的机器进行比较,发现了三个不同点:

    1. CMake is 3.10xxx 在我的机器上不工作,CMake 3.6.4111459 在工作机器上

    2. OpenCV-android-sdk 2.4.7.2 版无法在我的机器上运行,OpenCV-android-sdk 3.2.0 版在我的机器上运行

    3. android-ndk/ndk-bundle 14.1.3816874 在我的机器上不工作,android-ndk/ndk-bundle r15c 在工作机器上(这个可能是可选的)

    替换这三项,项目在我的机器上搭建成功。

    【讨论】:

    • 我用 CMake 3.10*** 替换了 CMake 3.6.4111459。现在它工作正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 2019-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多