Clion上使用NDK编译Android上C程序
Linux 平台
NDK下载安装
NDK存在AndroidStudio中SDK Location目录下NDK目录中,或者去官网下载
NDK 下载
去ndk目录下执行以下命令,查看是否有效
./ndk-build.cmd -v
GNU Make 4.3
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Clion配置
打开Clion,新建一个C project
配置ToolChains和Cmake
Cmake options如下
-DCMAKE_TOOLCHAIN_FILE=/data/work/NDK/android-ndk-r25d-canary/build/cmake/android.toolchain.cmake
-DCMAKE_ANDROID_NDK=/data/work/NDK/android-ndk-r25d-canary
-DANDROID_ABI=arm64-v8a
-DCMAKE_SYSTEM_NAME=Android
-DCMAKE_SYSTEM_VERSION=28
-DCMAKE_C_FLAGS=""
-DCMAKE_CXX_FLAGS=""
-DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang
-DCMAKE_ANDROID_ARCH_ABI=arm64-v8a
默认文件
CMakeLists.txt
cmake_minimum_required(VERSION 3.31)
project(ffmpeg_kit_16kb C)
set(CMAKE_C_STANDARD 11)
add_executable(ffmpeg_kit_16kb main.c)
main.c
int main(void) {
printf("Hello, World !\n");
return 0;
}
编译执行
编译获取执行文件ffmpeg_kit_16kb
将文件传到手机/data/local/tmp目录,执行
adb push xx/ffmpeg-kit-16kb/cmake-build-debug-ndk/ffmpeg_kit_16kb /data/local/tmp
chmod +x ffmpeg_kit_16kb
./ffmpeg_kit_16kb
参考
在Clion开发工具上使用NDK编译可以在安卓上执行的程序
CMake交叉编译Android
android-cmake