AndroidStudio2.2 NDK开发之CMake和传统JNI区别

自从AndroidStudio更新到2.2,就有了CMake和传统JNI两种开发NDK的方法,主要就是在目录结构和build.gradle上的区别,下面咱们将分别介绍目录区别和build.gradle种配置的区别(提示:在第一次用CMake时,最好在新建项目时勾选Include C++ Support,这样这个项目的NDK开发就是CMake方式,这估计也是Android之后主推的方式,建好项目,熟悉CMake方式的目录结构,这样对之后建普通项目再转CMake开发NDK有很大帮助,后面会讲到普通项目转NDK开发)android

目录上的区别:

   传统JNI:gradle

        

  CMake:ui

       

这两种方式在目录上的区别就是两点:spa

    1.之前的jni目录改为cpp,位置不变  .net

    2.以前对c文件的编译配置Android.mk文件放在jni目录下,如今改为CMakeLists.txt文件开发

(提示:其实Android.mk文件和CMakeLists.txt能够放在任意目录下,不过最好放在当前工程目录下任意位置。后面说build.gradle配置区别就知道了)get

build.gradle的区别:

  传统JNI:it

          

  CMake:io

        

    从上面两幅图能够发现,只有两个红框中的内容有区别,对于传统JNI,其实第二个红框中的内容能够不须要,它全部的配置都在编译

不然Build项目的时候会报错。
里面配置。CMake的语法规则能够百度。

对于普通Android项目,均可以经过鼠标右击选择Link C++ Project with Gradle转为NDK项目,

经过选择CMake或者ndk-build使开发NDK采用CMake或者JNI方法,不过此种转化方法必须符合CMake或者JNI的目录,也就是说,在上图操做完成以前,必须先在项目中建好符合CMake或者JNI规则的目录,假如文件中有对用cpp/c文件,在jni目录新建好对应得文件.(androidstudio2.2以后新建NDK项目只能获得CMake方式,只能普通项目转)。

相关文章
相关标签/搜索