Clion不同于Android Studio只需要简单的install一个NDK就可以快乐的进行开发了,如果我们只是单纯使用POSIX的标准接口在Clion上也是没有问题的,但是想要引用Android提供的NDK接口就需要设置一些配置。
对于CMake来说新版本已经加入了对于Android NDK的支持,在官方文档中提供了CMake支持的options,每个属性代表的意义解释的很清楚,这些属性后面会用到
这里我们选择的环境是CMake 3.12,NDK 18.1
首先配置Toolchains,在Clion Preferences Build,Execution,Deployment下面
这里我们选择的3.12的CMake版本直接直接Android NDK
然后我们需要配置CMake的选项,也就是前面的文档中的属性
需要配置的列举下来就是下面这些
-DCMAKE_SYSTEM_NAME=Android
-DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a
-DCMAKE_ANDROID_NDK=/Users/xtturing/Library/Android/sdk/ndk-bundle
-DCMAKE_SYSTEM_VERSION=16
-DCMAKE_C_FLAGS=""
-DCMAKE_CXX_FLAGS=""
-DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang
中间的ANDROID_NDK就是安装的ndk的目录,SYSTEM_VERSION是platforms下面的版本,NDK18只支持到16,如果需要低版本,就安装版本低一点的NDK
在CMake options中填上刚才的配置,就配置完成了
我们新建一个项目,在main.c里面调用jni的接口试试
#include <jni.h>
int main() {
return 0;
}
void jni(JNIEnv *env){
jbooleanArray array = (*env)->NewByteArray(env,100);
}
确实能引用到jni以及android提供的头文件,这样基本就完成了Clion IDE中开发Android相关so的前期准备工作。