Android 的 JNI 和 NDK
前言
奇怪的是,JNI 和 NDK 其实并不是一个东西,却经常被混淆。
- JNI(Java Native Interface),是 Java 与其他语言的桥梁。
- NDK(Native Development Kit),是封装了 JNI ,CMake等等,非常方便生成 native-lib的工具集。
目标
最近在看《Android进阶解密》,其中结合了一些源码分析。其中经常涉及到 Java层到 Native的跳跃分析,集合本书的 JNI原理,这里想要大致了解 如何生成一个 Native的 API。
这里主要记录一下 2 种方法
- AS + NDK + CMake 一键编译生成,省得你自己折腾了;
- 基于JNI原理手动生成,便于学习,便于日后源码的阅读。
1. AS + NDK + CMake 一键编译生成
1.1 编译
- AS 创建 Na