1、ndk是什么
官方地址:
https://developer.android.com/ndk/index.html
2、什么场景可以应用ndk
1.代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大
2.在NDK中调用第三方C/C++库,因为大部分的开源库都是用C/C++代码编写的(比如人脸识别、视频、图形)
3.便于移植,用C/C++写的库可以方便在其他的嵌入式平台上再次使用(比如写了一个底层库,可以供android、ios通用)
3、什么是交叉编译
简单的说,就是在一个平台上生成另一个平台上可执行的代码(比如:x86、arm、mips平台)
4、jni是什么
Java Native Interface,允许java代码和其它语言写的代码进行交互
jni的实现流程
图片里的链接库应该是*.dll或*.so。。。。
5、什么是链接库
包括:静态链接库(什么鬼。。。) 和 动态链接库(.so结尾开头的库。。。)
6、make文件介绍
.mk文件,hello-jni demo里有,去找吧~~~
7、ndk开发包目录介绍
我的目录如下:
ndk-build:命令,ndk编译。。。
ndk-stack.exe 调试代码非常有用的命令,有助于快速查找bug
来源:oschina
链接:https://my.oschina.net/u/218078/blog/677716