【Android -- JNI 和 NDK】认识 NDK

这篇具有很好参考价值的文章主要介绍了【Android -- JNI 和 NDK】认识 NDK。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Android -- JNI 和 NDK】认识 NDK

简介

定义:Native Development Kit ,是 Android 的一个工具开发包。

NDK 是属于 Android 的,与 Java 并无直接关系

作用:快速开发 C、 C++ 的动态库,并自动将 so 和应用一起打包成 APK

即可通过 NDK 在 Android 中 使用 JNI 与本地代码(如C、C++)交互

应用场景:在 Android 的场景下使用 JNI 。

特点
【Android -- JNI 和 NDK】认识 NDK

使用步骤

  • 1、配置 Android NDK 环境

  • 2、创建 Android 项目,并与 NDK 进行关联

  • 3、在 Android 项目中声明所需要调用的 Native 方法

  • 4、使用 Android 需要交互的本地代码 实现在 Android 中声明的 Native 方法
    比如 Android 需要与 C++ 交互,那么就用C++ 实现 Java的Native方法

  • 5、通过 ndk - bulid 命令编译产生.so库文件

  • 6、编译 Android Studio 工程,从而实现 Android 调用本地代码

NDK 与 JNI 关系

【Android -- JNI 和 NDK】认识 NDK

Android Studio2.2 以上实现 NDK

因为 Android Studio2.2 以上已经内部集成 NDK,所以只需要在 Android Studio 内部进行配置就可以

步骤1:按提示创建工程

在创建工程时,需要配置 NDK,根据提示一步步安装即可。
【Android -- JNI 和 NDK】认识 NDK

步骤2:根据需求使用 NDK

  • 配置好 NDK 后,Android Studio 会自动生成 C++ 文件并设置好调用的代码
  • 你只需要根据需求修改 C++ 文件 & Android 就可以使用了。

【Android -- JNI 和 NDK】认识 NDK文章来源地址https://www.toymoban.com/news/detail-503350.html

到了这里,关于【Android -- JNI 和 NDK】认识 NDK的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【Android -- JNI 和 NDK】Java 和 C/C++ 之间传递参数和返回值

    【Android -- JNI 和 NDK】Java 和 C/C++ 之间传递参数和返回值

    本文主要介绍 JNI 的数据传递上,即 Java 如何传递对象给 C++; 而 C++ 又如何将数据封装成 Java 所需的对象。 1. 基本数据类型 传递 java 的基本类型是非常简单而直接的,一个 jxxx 之类的类型已经定义在本地系统中了,比如: jint, jbyte, jshort, jlong, jfloat, jdouble, jchar 和 jboolean 分别

    2024年02月09日
    浏览(10)
  • Android Native Code开发学习(二)JNI互相传参返回调用

    Android Native Code开发学习(二)JNI互相传参返回调用

    本教程为native code学习笔记,希望能够帮到有需要的人 我的电脑系统为ubuntu 22.04,当然windows也是可以的,区别不大 native code就是在android项目中混合C++或者C语言进行开发,这样的好处是很多底层的东西需要使用C++/C的语言进行操作,而且在android开发中,使用C++和C混合开发能够

    2024年02月11日
    浏览(7)
  • Android Studio 进行NDK开发,实现JNI,以及编写C++与Java交互(Java调用本地函数)并编译出本地so动态库

    Android Studio 进行NDK开发,实现JNI,以及编写C++与Java交互(Java调用本地函数)并编译出本地so动态库

    1.首先认识一下NDK。 (1)什么是NDK? NDK全称是Native Development Kit,NDK提供了一系列的工具,帮助开发者快速开发C/C++的动态库,并能自动将so和java应用一起打包成apk。NDK集成了交叉编译器(交叉编译器需要UNIX或LINUX系统环境),并提供了相应的mk文件隔离CPU、平台、ABI等差异,

    2024年02月11日
    浏览(18)
  • android native hook简介

    android native hook简介

    Android中的 Native Hook是一个非常吸引人的技术节点,诱使开发人员产生绚烂多彩的想法,并带来精彩的体验。在软件调试、逆向、安全等场景中得到采用,各大知名软件公司如byte dance、baidu、tencent等都有自己的开源注入和hook项目。 本文代码来自github,只做了适当的剪裁和优化

    2024年02月11日
    浏览(8)
  • Android 13添加自定义native服务

    Android 13添加自定义native服务

    欢迎加入我的知识星球Android系统开发指南 欢迎关注微信公众号 无限无羡 欢迎关注知乎账号 无限无羡 native服务就是用c++写的系统服务,通过init进程启动,可以实现binder接口供client调用。 下面我们以实现一个beanserver的后台服务为例: 首先需要写一个rc文件 写服务的main函数

    2024年02月12日
    浏览(15)
  • 【GiraKoo】Java Native Interface(JNI)的空间(引用)管理

    Java是通过垃圾回收机制回收内存,C/C++是通过malloc,free,new,delete手动管理空间。那么在JNI层,同时存在Java和C/C++的空间时,该如何进行空间的管理呢?本文参考Oracle的官方文档,对JNI层中空间的管理进行说明。明确哪些内容需要手动调用Delete,哪些不需要手动调用。 全局

    2024年02月05日
    浏览(9)
  • Android NDK介绍 Android NDK静态注册 动态注册:

            Application.mk(ARM硬件指令集/工程编译脚本/stl支持等)         Android.mk(编译选项/头文件/源文件及依赖库等)         local_path(call my-dir)         include $(clear_vars)         local_arm_mode:= arm指令模式         local_module:=模块名称         local_src_files

    2024年02月16日
    浏览(17)
  • Android JNI3--JNI基础

    C 预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤。简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理。我们将把 C 预处理器(C Preprocessor)简写为 CPP。 所有的预处理器命令都是以井号(#)开头。

    2024年02月12日
    浏览(10)
  • Android NDK开发详解之ndk-build 脚本

    Android NDK开发详解之ndk-build 脚本

    ndk-build 脚本使用 NDK 的基于 Make 的构建系统构建项目。我们针对 ndk-build 使用的 Android.mk 和 Application.mk 配置提供了更具体的文档。 内部原理 运行 ndk-build 脚本相当于运行以下命令: $GNUMAKE 指向 GNU Make 3.81 或更高版本, 则指向 NDK 安装目录。您可以根据这些信息从其他 Shell 脚

    2024年02月06日
    浏览(13)
  • Android:JNI实战,理论详解、Java与Jni数据调用

    Android:JNI实战,理论详解、Java与Jni数据调用

    上一篇博文《Android:JNI实战,加载三方库、编译C/C++》讲解了如何搭建一个可以加载和链接第三方库、编译 C/C++ 文件的 Jni Demo App。 这篇博文在这个 Jni Demo App 的基础上,从实战出发详细讲解  Jni  开发语法。 接下来,先用一小节将 Jni 开发比较重要的理论知识点过一下,然

    2024年01月23日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包