bph*_*bph 5 android cmake android-ndk
如何从Android项目的其余部分独立运行NDK Cmake构建,理想情况是从Android Studio外部的命令行运行?
相当于ndk-build
从较早的Android NDK项目的jni目录运行.
我需要准确调查对编译器的调用是什么样的,在Android Studio中构建整个项目时似乎无法获取此信息
我的第一次尝试只是从project/app
包含的目录运行cmake CMakeLists.txt
,但这告诉我cmake
没有安装 - 那么Android Studio如何管理它呢?
Dan*_*ert 13
如果您的目标是从命令行运行(而不是尝试完全执行gradle正在执行的操作),只需按照通常的方式使用cmake:
$ cmake -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake \
-DANDROID_ABI=whatever $YOUR_SOURCE_DIR
Run Code Online (Sandbox Code Playgroud)
或者,您可以从命令行运行./gradlew
.
您最初的问题是,在使用Android Studio构建时无法看到命令行调用.
您可以通过编辑app/build.gradle文件来获取编译器的命令行参数.
defaultConfig {
...
externalNativeBuild {
cmake {
...
arguments "-DCMAKE_VERBOSE_MAKEFILE=1", ...
}
}
}
Run Code Online (Sandbox Code Playgroud)
在Adroid Studio的Gradle Console窗格中,您将看到编译器和链接器的命令行,如下所示:
[1/176]/home/bram/android-sdk-linux/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --target = armv7-none-linux-androideabi --gcc-toolchain = /home/bram/android-sdk-linux/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 --sysroot =/home/bram/android-sdk-linux/ndk-bundle/sysroot -isystem/home/bram/android-sdk-linux/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API __ = 19 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march = armv7-a -mfloat-abi = softfp -mfpu = vfpv3-d16 -fno-integrated-as -marm -mfpu = neon -Wa, - noexecstack -Wformat -Werror = format-security -Os -DNDEBUG -fPIC -MD -MT /home/bram/src/GPGOAP/CMakeFiles/gpgoap.dir/astar.co -MF /home/bram/src/GPGOAP/CMakeFiles/gpgoap.dir/astar.cod -o /home/bram/src/GPGOAP/CMakeFiles/gpgoap.dir/astar.co -c /home/bram/src/GPGOAP/astar.c
归档时间: |
|
查看次数: |
4842 次 |
最近记录: |