NDK CMake方式编译二进制可执行文件

大部分情况下都是用CMake编译.so库,项目中要编译成二进制可执行文件,折腾了一阵 记录一下。

在网上一阵google,找到了这篇文件:android JNI运行NDK编译成的可执行文件 ,试了一下是可以运行的。使用ndkBuild方式,要自己写Android.mk,在module的build.gradle中配置:

externalNativeBuild { ndkBuild { path file("src/main/jni/Android.mk") }}

当时没看到编译出来的二进制文件在哪,找了一下原来在 Jnidemo-master/app/.externalNativeBuild/ndkBuild/debug/arm64-v8a/ndkBuild_build_output.txt 中找写:NDK_OUT=XXX/Jnidemo-master/app/build/intermediates/ndkBuild/debug/obj

但是它是自己写Android.mk,现在都是CMake方式,不写Android.mk了。于是找到了这篇:executable binaries in Android with Android Studio 2.2 and CMake

CMakeLists.txt

app中的build.gradle中:

输出的文件在 app/.externalNativeBuild/cmake/debug/arm64-v8a/cmake_build_command.txt中有写:DCMAKE_LIBRARY_OUTPUT_DIRECTORY=XXX/app/build/intermediates/cmake/debug/obj/arm64-v8a

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容