Android studio CMake (一)

Android Studio 2.2开始支持C/C++编辑和编译,对Android开发人员来说,是一件值得‘喜大普奔’的事。国内许多Android的开发者也很快跟进了这一块,不但翻译了官方的文章,也写了博客展示如何在AS中使用cmake。但是,大部分是照搬官方的例子,对我个人来说,灵活性还不够。

这里并不演示如何创建支持C/C++的项目,因为官方有文章演示,网上也有许多博客对此讲解很清楚了。下面只讲如何让Android studio CMake支持原有C/C++项目。当然,所使用的Android stduio版本必须是2.2以上。

1.在原有JNI目录下创建CMakeLists.txt

其实,相当于替换了之前的Android.mk。这里的JNI目录为cpp,效果一样的。


2.编写CMakeLists.txt,让cmake编译c/c++

cmake_minimum_required(VERSION 3.4.1)#cmake 所支持的最小版本

add_library( hello_cmake #最终编译生成的库名

             SHARED #声明生成的库为动态库,亦为STATIC

             hello.c #C源文件,若此目录包含.h文件,不需要写上,cmake会自动包括进去 )

find_library(log-lib #log-lib变量,给它赋值log

              log #android系统的打印信息库 )

target_link_libraries( hello_cmake #把所依赖的库link进来
                       ${log-lib} )

hello.c文件:

#include <jni.h>

jstring
Java_com_hhbgk_hellocmake_MainActivity_stringFromJNI(
        JNIEnv *env,
        jobject this) {
    const char *const hello = "Hello cmake!";
    return (*env)->NewStringUTF(env, hello);
}


3.编译,运行

点击进行JNI代码编译,没报错就运行APP。结果如下,




下载







猜你喜欢

转载自blog.csdn.net/hhbgk/article/details/53350192