Android Studio 2.2+ NDK开发

作者: JasonXiao | 来源:发表于2016-10-17 11:27 被阅读1152次

    Android Studio NDK开发

    什么是NDK

    NDK(Native Development Kit)是Google官方提供的一套方便开发者在Android平台上使用C和C++代码的工具库,同时NDK还提供了一些库(如:控制诸如传感器硬件等)供开发者使用。NDK主要在以下两个情况下使用:

    • 在游戏等应用中提高性能
    • 重用你的C和C++库
      Google并不建议大面积使用C和C++代码,一般情况下,这样并不能提高性能,相反还可以提高工程的复杂度和维护难度。

    Android Studio NDK开发环境搭建

    1. 确保你的Android Studio版本在2.2及以上,Android Plugin for Gradle版本在2.2.0及以上
    2. 打开Android Studio中的SDK Manager(Tools > Android > SDK Manager),选择SDK Tools tab
    3. 在SDK Manager中下载NDK,CMake,LLDB,如下图:
    4. 创建一个新的工程(File > New > New Project),创建时勾选Include C++ Support,如下图:
    5. Run!界面上会显示一行C++中的Hello

    工程解读

    工程变化

    Android Studio默认工程的内容可能会跟随Android Studio版本发生改变,但大体框架应该是不变的,下面我们来分析一下这个工程的结构。

    C++ Support的工程主要有两个方面的变化,如下图所示: <br />
    1. 增加了src/main/cpp/文件夹,这里放置你的C++源文件,头文件和库。<br />
    2. External Build Files包括了诸如CMake或ndk-build等编译脚本,Google官方推荐使用CMake。这些编译脚本里编写编译native library的规则。一般来说CMake文件放置在module的根目录下,你可以在该module的build gradle中指定这些脚本的地址。

    编译过程

    1. Gradle调用external build script,CMakeLists.txt
    2. CMake将C++文件编译为so库,这些so库后续会被gradle打入apk包中
    3. 在运行时,Java代码中使用System.loadLibrary()导入native库,即可使用native方法

    参考资料

    1. https://developer.android.com/studio/projects/add-native-code.html#create-sources

    相关文章

      网友评论

      • 8e79a380fb84:错别字啊
        “CMake将C++文件便以为so库,这些so库后续会被gradle打入apk包中”-》
        “CMake将C++文件编译为so库,这些so库后续会被gradle打入apk包中”
        JasonXiao:@垠_49ae 谢谢!:grin:
      • suym:好
      • 巴图鲁:不错
        JasonXiao:@巴图鲁 谢谢 :smile:

      本文标题:Android Studio 2.2+ NDK开发

      本文链接:https://www.haomeiwen.com/subject/lgwayttx.html