1. 概述
在我们开发过程中,比如百度地图,libs文件目录下边有 .so库,这个 .so库就是C、C++写好的,写好后把它编译成 .so库。
2. JNI与NDK概念?
JNI:是一种方式,是Java语言调用C、C++;
NDK:在Android里边有运用JNI这种开发方式的项目,就叫做NDK项目,比如百度地图里边有 .so库;
3. NDK好处
比如电脑下载支付宝apk,然后修改后缀名为 zip,然后解压,看里armeable下边的 .so文件有232个,这样做的好处有以下:
1>:安全,防止反编译;
2>:Java就是C、C++写的,有很多算法Java写不了,所以只能用C、C++;
3>:速度:比Java运行速度快,效率高;
4>:很方便、可以少干活:C、C++只需要写一个 C库 就ok,然后可以让Android、IOS、Java后台都可以调用,对于Android、IOS来说只需要把它编译成 .so库就可以,对于Java只需要把它编译成 Dell动态库