由于 Cmake 检查,Android NDK 项目需要数年时间才能完成 gradle buid

标签 android c++ gradle cmake android-ndk

出于某种原因,我的 Android NDK 项目需要数年时间才能完成刷新或构建。该问题仅在首次创建项目或修改 CMakeLists.txt 时发生。

完美可能需要 45 分钟,但在那之后,接下来的构建会很快(1 分钟或更短)。在此期间,IDE 无法使用,因为它没有正确的项目结构和配置。

我正在使用 Gradle 4.1、Android Plugin 3.0.1 和 NDK 16.1(目前是最后一个)。

这是日志显示的内容(完整日志 here )

Executing tasks: [assemble]

Configuration on demand is an incubating feature.
CMake Warning at <android_path>/Android/ndk-bundle/build/cmake/android.toolchain.cmake:63 (message):
  Using custom NDK path (ANDROID_NDK is set):
  C:\Users\Fran\AppData\Local\Android\ndk-bundle
Call Stack (most recent call first):
  <android_path>/Android/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeDetermineSystem.cmake:98 (include)
  CMakeLists.txt
-- Check for working C compiler: <android_path>/Android/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe
-- Check for working C compiler: <android_path>/Android/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: <android_path>/Android/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe
-- Check for working CXX compiler: <android_path>/Android/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: <project_path>/NativeTest/app/.externalNativeBuild/cmake/debug/armeabi-v7a

有什么办法可以避免每次检查?或者有什么方法可以加快这个过程?

最佳答案

如上面评论所述,问题自行解决,无需执行任何与问题相关的操作,例如更改配置或更新 IDE 或 SDK...很奇怪...

我做的唯一一件事就是更新系统 (Windows)...也许我有什么东西坏了更新修复...?

关于由于 Cmake 检查,Android NDK 项目需要数年时间才能完成 gradle buid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47955822/

相关文章:

Android Studio 偶尔无法启动

android - 如何在Android系统应用程序中升级 native 库

c++ - 关于 GetProcAddress

c++ - ffmpeg yadif 去隔行

c++ - 如何将数字添加到字符串?

java - 如何在 Android 中将文件转换为 base64(如 .pdf、.text)?

Android 应用程序未使用自签名证书连接到 HTTPS

java - 如何在从 gradle jar 任务生成的 jar 中包含运行时依赖项

gradle - 从插件访问配置ResolutionStrategy

java - 在 Gradle 构建中替换文件