Android Studio Ndk 基础篇

来源:互联网 发布:中国十大淘宝村 编辑:程序博客网 时间:2024/06/12 00:13

非官方方法

方法1
方法2

看了很多的博客,android studio 的ndk使用,虽然用倒是可以用,但是既然as现在集成的这么好,不如试试官方给的办法好了


基础篇

(平台:windows下)

第一步:下载Ndk与build工具

这里写图片描述

  1. 在一个打开的项目里,选择 Tools > Android > SDK Manager
  2. 选择 SDK Tools
  3. 点击 LLDB,Cmake,NDK , 点击 apply

Ndk:
一个允许你在Android下,使用C和C++代码的工具集。
并且提供了一些可以让你管理native activity 和 使用比如传感器等物理设备组件的平台库

nativeactivity官方解释:完全用native code(c++,c)实现的activity

Cmake官网 :
与Gradle类似,是用来编译你的 native 库的,如果你打算用 ndk-build 那就不需要添加这个模块了
how to use Cmake

LLDB官网:
Android studio 用来对native code debug的
how to debug native code


第二步:创建一个C/C++支持的新项目

1 创建一个新的项目,点击 Include C++ Support

这里写图片描述

2 点击next选择一些其他的项目,直到出现以下页面

这里写图片描述

  • C++ Standard 用于选择你想使用哪种C++,选择 Tool chain Default 使用的是默认的Cmake设置
  • Exception Support 检查如果你想支持c++的异常处理,那么就点选
  • Runtime Type Information Support 如果你想支持RTTI,那么点选这个

c++中的exception的使用

什么是RTTI?

3 点击finish,新的目录结构里出现了两个新的部分这里写图片描述
cppExternal Build Files
cpp 中存放的是你项目中的 native source code,header 和 预编译的库文件。而External Build Files是Cmake和ndk-build的编译脚本文件


第三步:运行样例app

点击Run,之后

  1. Gradle 调用 你的 external build script
  2. Cmake 遵从 脚本中的命令来编译C++源文件,生成一个 so 库,然后Gradle把这个库打包如apk中
  3. 在运行时,java文件使用 System.loadLibrary() 来载入生成的so库,库中的方法就在app中使用了

第四步:分析此时的Apk中的库

  1. 点击 build -> Analyze Apk
    这里写图片描述

  2. 选择apk,点击ok
    这里写图片描述

  3. 可以看到对应不同的cpu架构,都有着对应的so库
    这里写图片描述

0 0
原创粉丝点击