Android StudioJNI开发之NDK环境的搭建以及添加JNI支持(图文解释 简单易懂)

这篇具有很好参考价值的文章主要介绍了Android StudioJNI开发之NDK环境的搭建以及添加JNI支持(图文解释 简单易懂)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

有问题可以评论区留言讨论~~~

一、NDK环境搭建

Android系统的所谓原生开发是在App中调用C/C++代码,鉴于这两个语言具有跨平台的特性,如果某项功能使用C/C++实现,就很容易在不同平台之间移植。

完整的Android环境包括三个开发工具。分别是JDK SDK NDK 分别简述如下

1:JDK是Java代码的编译器 因为App采用Java语言开发 所以内置

2:SDK是Android应用的开发包,提供了Android内核的公共方法调用,故而App必须实现安装SDK

3:NDK是C/C++代码的编译器 属于Android Studio的可选组件 如果APP未使用JNI技术,就不需要安装NDK,如果App用到了JNI技术 就必须安装NDK

只有给Android Studio配置好NDK环境,才能在App中通过C/C++代码执行部分操作,然后由Java代码代码通过JNI接口调用C/C++代码,下面介绍NDK环境的搭建步骤

1:到谷歌开发者网站下载最新的NDK安装包,下载完毕后解压到本地,注意目录名称不要有中文

谷歌开发者网站 

2:在系统中增加NDK的环境变量定义 并在Path变量值后面补充%NDK_ROOT%

3:选择菜单File-Project Structure 打开设置页面  然后找到SDK Location-NDK Location 如下图

设置前面的解压目录路径即可

 androidstudio ndk环境搭建,Android App,android studio,android,ide,jvm

二、添加JNI支持 

 上面搭建好了NDK环境 接下来还要给模块添加JNI支持 步骤如下

1:在模块的src/main路径下创建名为jni的目录

2:右击模块名称 在菜单中选择Link C++ Project with Gradle

3:选中C++支持菜单后,在配置页面中选择ndk-build 表示采用Android Studio内置的编译工具 在Project Path一栏中选择mk文件的路径

4:点击ok按钮 启动编译

5:在src/main下创建so库的保存目录 名为jinLibs 并将生成的so文件复制到该目录下

6:重新运行App生效

有问题可以评论区留言讨论文章来源地址https://www.toymoban.com/news/detail-633942.html

到了这里,关于Android StudioJNI开发之NDK环境的搭建以及添加JNI支持(图文解释 简单易懂)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【环境配置】Android-Studio-OpenCV-JNI以及常见错误 ( 持续更新 )

    最近一个项目要编译深度学习的库,需要用到 opencv 和 JNI,本文档用于记录环境配置中遇到的常见错误以及解决方案 解决办法: 删除文件 .idea/gradle.xml 和 .idea/workspace.xml , 重新编译; 解决办法:Invalid Gradle JDK configuration found 原因是NDK版本过高,跟当前的AndroidStudio版本不匹配

    2024年02月11日
    浏览(29)
  • Android JNI系列详解之CMake和ndk-build编译工具介绍

    一、前提 CMake和ndk-build只是编译工具,本次主要介绍ndk-build和CMake的区别,下节课介绍他们的使用。 二、CMake工具介绍 CMake:cross platform make,是跨平台的编译工具 CMake是在AndroidStudio2.2之后引入(目前默认的NDK编译工具),使用时配合CMakeList.txt和gradle。 对C++的配置: 默认配置

    2024年02月12日
    浏览(28)
  • 【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日
    浏览(28)
  • Windows下Android studio 搭建 android NDK 搭建 OLLVM 踩坑记录

    https://github.com/heroims/obfuscator/tree/llvm-9.0.1 这里有坑要注意 不能使用最新的 mingw 8.0.1 编译会报错 报错内容如下: 猜测可能的原因是 cmake版本和 mingw版本 对ollvm-9.0.1的cmakelists.txt的兼容性问题引起的 然后我重新下载mingw旧版本 我用的是 x86_64-5.4.0-release-posix-seh-rt_v5-rev0 mingw下载地

    2024年02月11日
    浏览(31)
  • Android java项目添加kotlin混合开发环境配置

    Android Studio java代码中添加kotlin混合开发 1.项目的build.gradle中添加kotlin-gradle-plugin buildscript {     repositories {         google()         jcenter()              }     dependencies {         classpath \\\'com.android.tools.build:gradle:7.3.1\\\'         classpath \\\"org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.20\\\"

    2023年04月19日
    浏览(36)
  • Android-NDK的linux交叉编译环境

    NDK 下载  |  Android NDK  |  Android Developers https://github.com/android/ndk/wiki/Unsupported-Downloads 以android-ndk-r26c下载为例,下载后将压缩包解压至/usr目录下 编译平台变量判断条件中增加一下android条件下CMake的变量 详细变量设置参考 C++ 库支持  |  Android NDK  |  Android Developers 编译出的程

    2024年04月10日
    浏览(34)
  • android使用ndk开发

    ndk sdk要单独下载和android sdk不同 https://developer.android.google.cn/ndk/downloads?hl=zh-cn 解压后添加ndk路径到path即可 gradle下载太慢使用国内镜像 distributionUrl=https://mirrors.cloud.tencent.com/gradle/gradle-6.7.1-all.zip 执行gradlew.bat gradlew //检查环境,下载gradle依赖项 gradlew tasks //查看可执行任务 gr

    2024年01月17日
    浏览(34)
  • 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日
    浏览(30)
  • android studio JNI开发

    一、JNI的作用: 1.使Java与本地其他类型语言(C、C++)交互; 2.在Java代码调用C、C++等语言的代码 或者 C、C++调用Java代码。 由于JAVA具有跨平台的特点,所以JAVA与本地代码的交互能力弱,采用JNI特性可以增强JAVA与本地代码的交互能力。 二、AndroidStudion中JNI的使用方法: 1、在

    2024年02月13日
    浏览(34)
  • Android-JNI开发概论

    JNI的全称是Java Native Interface,顾名思义,这是一种解决Java和C/C++相互调用的编程方式。 它其实只解决两个方面的问题,怎么找到和怎么访问。 弄清楚这两个话题,我们就学会了JNI开发。 需要注意的是,JNI开发只涉及到一小部分C/C++开发知识,遇到问题的时候我们首先要判断

    2024年02月09日
    浏览(48)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包