答案是要理解Gradle利用CMake构建Android项目的android NDK组件(共享库),并且CMake利用Ninja作为构建系统来处理对编译器的调用。 android NDK使用的编译器现在默认为LLVM-> Clang。
因此,要实际看到铛声呼叫,您必须为您的Android项目的每个目标找到build.ninja
文件。
在我的情况下,我只为armeabi-v7a
目标架构构建。因此,相关build.ninja
文件中发现:
/home/me/projects/my_proj/app/.externalNativeBuild/cmake/debug/armeabi-v7a
/home/me/projects/my_proj/app/.externalNativeBuild/cmake/release/armeabi-v7a
cd
要么目录,然后运行:
ninja -v
即-v
选项来查看所有的铛编译器,本地生成的呼出键(android NDK)你的android项目的一部分生成。
请注意,如果您已经通过Android软件包管理器安装了CMake,您可能会发现忍者没有安装在您的PATH
上的位置。对我来说,忍者的二进制文件位于如下:
~/Android/Sdk/cmake/3.6.3155560/bin/ninja
(同一目录CMake的二进制)
因此,我看到所有我的Android项目的调试armeabi-V7A构建我得铛编译器调用运行:
cd /home/me/projects/my_proj/app/.externalNativeBuild/cmake/debug/armeabi-v7a
~/Android/Sdk/cmake/3.6.3155560/bin/ninja -v
注意如果忍者告诉你ninja: no work to do.
然后运行:
~/Android/Sdk/cmake/3.6.3155560/bin/ninja clean
相关忍者文档 - >https://ninja-build.org/manual.html#_extra_tools
来源
2017-06-22 10:41:42
bph
您可以使用-DCMAKE_VERBOSE_MAKEFILE = 1在我的答案在这里解释:https://stackoverflow.com/a/44709786/301166 – Bram