标签:strip 创建 命令 官网 tail tle 直接 命令编译 detail
作者:十岁的小男孩
QQ:929994365
心之安处即是吾乡
前言
本文试图通过解答以下三个问题来达到学习JNI和NDK的目的。是什么?有什么用?怎么用?文章内容前三节来自下面第一个链接的博主共享,很详细的解答前两个问题,第二个链接是安卓官网的教程,回到了第三个问题即在实际工程中怎么用。本文记录本人阅读与开发过程,力求不失原意,但推荐阅读原文。下一篇博文将重点学习native声明的方法在底层c/c++中具体实现。
https://blog.csdn.net/carson_ho/article/details/73250163
https://developer.android.google.cn/studio/projects/add-native-code
目录
Java Native Interface
,即 Java
本地接口作用: 使得Java
与 本地其他类型语言(如C、C++
)交互
即在
Java
代码 里调用C、C++
等语言的代码 或C、C++
代码调用Java
代码
特别注意:
JNI
是 Java
调用 Native
语言的一种特性JNI
是属于 Java
的,与 Android
无直接关系Java
需要与 本地代码 进行交互Java
具备跨平台的特点,所以Java
与 本地代码交互的能力非常弱JNI
特性 增强 Java
与 本地代码交互的能力Java
中声明Native
方法(即需要调用的本地方法)Java
源文件javac(得到 .class
文件)javah
命令导出JNI
的头文件(.h
文件)Java
需要交互的本地代码 实现在 Java
中声明的Native
方法 如
Java
需要与C++
交互,那么就用C++
实现Java
的Native
方法
.so
库文件Java
命令执行 Java
程序,最终实现Java
调用本地代码Native Development Kit
,是 Android
的一个工具开发包 NDK是属于
Android
的,与Java
并无直接关系
C
、 C++
的动态库,并自动将so
和应用一起打包成 APK
NDK
在 Android
中 使用 JNI
与本地代码(如C、C++)交互应用场景:在Android的场景下 使用JNI
即
Android
开发的功能需要本地代码(C/C++)实现
特点
Android NDK
环境Android
项目,并与 NDK
进行关联Android
项目中声明所需要调用的 Native
方法Android
需要交互的本地代码 实现在Android
中声明的Native
方法 比如
Android
需要与C++
交互,那么就用C++
实现Java
的Native
方法
ndk - bulid
命令编译产生.so
库文件Android Studio
工程,从而实现 Android
调用本地代码本节内容的学习是通过阅读安卓官网的教程,本文暂且不赘述,读者自行到官网学习,以下链接:https://developer.android.google.cn/studio/projects/add-native-code
标签:strip 创建 命令 官网 tail tle 直接 命令编译 detail
原文地址:https://www.cnblogs.com/missidiot/p/9716902.html