首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android NDK编程(一)---NDK介绍及环境搭建

Android NDK编程(一)---NDK介绍及环境搭建

作者头像
Vaccae
发布2019-07-25 14:29:46
1.5K0
发布2019-07-25 14:29:46
举报
文章被收录于专栏:微卡智享微卡智享

前言

什么是NDK?

NDK全称为Native Development Kit,是Android的一个工具开发包,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。

NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。

NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。


  • 在Android开发中,使用 NDK开发的需求正逐渐增大
  • 但很多人却搞不懂 JNI 与 NDK 到底是怎么回事
  • 今天,我将先介绍JNI 与 NDK & 之间的区别,手把手进行 NDK的使用教学,希望你们会喜欢

从上面的讲的里面又说到了JNI,那JNI又是什么是呢

JNI全称为Java Native Interface,即 Java本地接口。它的作为为使得Java 与 本地其他类型语言(如C、C++)交互。


NDK与JNI的关系


Android Studio NDK的环境配置

我用的Android Studio的版本为3.3.2

在上面的工具栏里打开SDK Manager

然后我们点击SDK Tools

进入后里面的LLDB、CMAKE和NDK这三项都打上勾进行下载安装。

新建NDK项目

点击Start a new Android Studio project

找到最后一项Native C++,然后再点击Next。

注:3.3以前可以直接选空的Acitivty然后后面有选项是include C++打上勾,这块改变也是后来才找到,刚才始的时候也是一脸懵逼了

输入一个Name为vaccaendk,然后再点击Next

选择C++版本,可以选择C++11,C++14,我们这里默认即可。点击Finish就会创建项目

创建好后的项目可以从下图上看到,左侧多了一个CPP的包,里面有CMakeList.txt和native-lib.cpp的文件,在默认的MainActivity里面可以看到右侧红框里面上面是引用名为native-lib的库名,下面是一个stringFromJNI的一个demo例子

我们再来看看native-lib.cpp

这里面就是对应的Mainactivity里面stringFromJNI的C++的代码。到这里一个带有NDK的项目就创建完成了。

-END-

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微卡智享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档