Android技术Android知识手机移动程序开发

AndroidStudio进行NDK开发 - 初步配置及使用

2017-01-29  本文已影响2364人  and2long

下载NDK和构建工具

编译或调试您的原生代码,需要以下组件:

下载安装步骤如下图所示:

从 SDK 管理器中安装 LLDB、CMake 和 NDK

创建支持C/C++的新项目

创建支持原生代码的项目与创建任何其他 Android Studio 项目类似,不过前者还需要额外几个步骤:

  1. 在向导的 Configure your new project 部分,选中 Include C++ Support 复选框。
  2. 点击 Next
  3. 正常填写所有其他字段并完成向导接下来的几个部分。
  4. 在向导的 Customize C++ Support 部分,您可以使用下列选项自定义项目:
  1. 点击 Finish

在 Android Studio 完成新项目的创建后,请从 IDE 左侧打开 Project 窗格并选择 Android 视图。如图 2 中所示,Android Studio 将添加 cpp 和 External Build Files 组:

原生源文件和外部构建脚本的 Android 视图组
  1. cpp 组中,您可以找到属于项目的所有原生源文件、标头和预构建库。对于新项目,Android Studio 会创建一个示例 C++ 源文件 native-lib.cpp,并将其置于应用模块的 src/main/cpp/ 目录中。本示例代码提供了一个简单的 C++ 函数 stringFromJNI(),此函数可以返回字符串“Hello from C++”。
  2. External Build Files 组中,您可以找到 CMake 或 ndk-build 的构建脚本。与 build.gradle 文件指示 Gradle 如何构建应用一样,CMake 和 ndk-build 需要一个构建脚本来了解如何构建您的原生库。对于新项目,Android Studio 会创建一个 CMake 构建脚本 CMakeLists.txt,并将其置于模块的根目录中。

构建和运行示例应用

示例代码运行后

点击 Run 后,Android Studio 将在您的 Android 设备或者模拟器上构建并启动一个显示文字“Hello from C++”的应用。下面的概览介绍了构建和运行示例应用时会发生的事件:

  1. Gradle 调用您的外部构建脚本 CMakeLists.txt。
  2. CMake 按照构建脚本中的命令将 C++ 源文件 native-lib.cpp 编译到共享的对象库中,并命名为 libnative-lib.so,Gradle 随后会将其封装到 APK 中。
  3. 运行时,应用的 MainActivity会使用 **System.loadLibrary() **加载原生库。现在,应用可以使用库的原生函数 stringFromJNI()
  4. MainActivity.onCreate()调用 stringFromJNI(),这将返回“Hello from C++”并使用这些文字更新 TextView。

Instant Run 与使用原生代码的项目不兼容。Android Studio 会自动停用此功能。

上一篇下一篇

猜你喜欢

热点阅读