Android Studio 配置NDK环境

Android Studio安装和配置 我们勾选两个安卓SDK版本:Android SDK 33 和 Android SDK 32。将手机连接到电脑,在手机开发者选项里启用USB调试模式。选择在手机上运行安卓应用。单击运行按钮,查看手机。 阅读详情

Android开发中可以使用java+c的方式,使用c/c++开发在有的方面会提高效率和安全性。原来就简单的用过jni开发,但是现在好久不用都忘得差不多了,现在从配置环境开始,一步一步记录下来,算是巩固,而且以后自己写的程序会刻意的多使用。

第一步:配置NDK路径

下载好NDK并安装,在下载SDK时可以选择下载NDK,这样在下载SDK时就下载好了NDK;打开设置界面,设置NDK路径,见图1:

image图1.设置ndk路径

第二步:配置gradle.properties

在该文件中添加过时ndk版本支持:android.useDeprecatedNdk=true

第三步:配置module的build.gradle
    /*NDK配置*/
    ndk{
        moduleName "encryptLib"
        abiFilters "armeabi", "armeabi-v7a", "x86"
    }
第四步:创建java类声明本地代码库,然后定义native方法
    /*声明本地代码库*/
    static {
        System.loadLibrary("encryptLib");
    }
    /*声明本地方法,获得加密后字符串*/
    public native String getEncryptString();
第五步:生成.h头文件,你可以自己写头文件,只不过繁琐而且容易出错。(最后会给出定制宏命令的方法)

(1)很多博客里面生成的.h文件位置都不对,还需要复制粘贴,其实可以通过命令一步到位的。

(2)打开Terminal窗口,cd到app/src/main/java目录;

(3)执行命令:

javah -encoding UTF-8 -d ../jni -jni 包名+类路径

-encoding UTF-8: 指定编码格式,否则有可能报编码不对应的错误,-d ../jni :是在上一级目录创建jni文件夹,而且让生成的头文件放在这个文件夹里面,-jni 包名+类路径:生成.h头文件。
这里写图片描述
image

第六步:编写c++文件
#include "com_wangliang160616_androidtest_activity_EncryptActivity.h"
JNIEXPORT jstring JNICALL Java_com_wangliang160616_androidtest_activity_EncryptActivity_getEncryptString1
  (JNIEnv *env, jobject obj){
  return env->NewStringUTF("Hello,JNI!");
  }
第七步:最后,调用
    /*handle business*/
    public void handleBusiness() {
        encryptTv.setText(getEncryptString1());
    }

在make project后,在build/intermediate/jniLibs下生成了so文件,将jniLibs文件夹拷贝到main目录下,删除刚刚创建的.h文件,.cpp文件。

最后,我们发现第五步生成.h头文件太麻烦了,容易出错,所以我们可以通过宏命令的方法来替代。

(1)设置→External Tools
这里写图片描述
image
(2)参数解释
第一个:Program,相当于命令javah,所以这里填写javah.exe的路径,我的路径是:

$JDKPath$\bin\javah.exe

第二个:Parameters:

-encoding UTF-8 -d $ModuleFileDir$\src\main\jni -jni $FileClass$

第三个:Working directory:

$ModuleFileDir$\src\main\java

这一个相当于指定目录:
D:\ASworkspace\AndroidTest2\app\src\main\java>

上面三个加起来就是:

D:\ASworkspace\AndroidTest2\app\src\main\java>
javah -encoding UTF-8 -d D:\ASworkspace\AndroidTest2\app\src\main\jni -jni com.wangliang160616.androidtest.activity.EncryptActivity

看看效果:
这里写图片描述
image

好了,大功告成!
NDK环境配置之Android Studio 随着越来越多的人使用Android Studio来开发,接下来介绍Android Studio如何配置NDK,完成JNI开发。首先需要准备Android studio安装包,NDK安装包。NDK安装包的下载可以参照NDK环境配置之Eclipse文章下载NDK安装包。接下来介绍Android Studio如何配置NDK完成JNI开发。   1.通过Android Studio创建一个Andro 阅读详情

相关推荐

无需Android Studio!UE5.3安卓打包环境配置全攻略(含SDK/NDK独立安装包)

本文详细介绍了如何在不安装庞大Android Studio的情况下,为UE5.3独立配置安卓打包环境。核心在于精准获取并配置Android SDK、NDK r25b和JDK 17三大组件,并正确设置引擎路径。文章提供了完整的部署步骤、常见问题(如Gradle超时、NDK版本不匹配)的解决方案以及打包优化技巧,帮助开发者搭建纯净、高效的UE5.3安卓打包流水线。

weixin_27943395的博客 544

Android Studio 安装和 NDK JDK环境配置

1. jdk环境的配置 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载之后解压到相应的位置,然后配置环境变量: vim ~/.bashrc 写入下面的内容: #set jdk environment export JAVA_HOME=/home/s...

ytusdc的博客 1452

fastjson1.2.83反序列化漏洞

【代码】fastjson1.2.83反序列化漏洞。

Coder的博客 1万+

保姆级别——Android Studio安装教程&环境变量配置

【代码】保姆级别——Android Studio安装教程&环境变量配置。

qq_45108200的博客 1万+

昇腾910B+MindIE部署Qwen模型避坑指南:从镜像下载到推理测试全流程

本文详细介绍了在昇腾910B硬件环境中使用MindIE推理工具部署Qwen系列模型的全流程指南。从环境准备、镜像下载到模型部署与性能优化,提供一站式解决方案,帮助开发者高效完成AI模型推理任务。

weixin_29219189的博客 766

AM243x多核MCU启动流程解析与OSPI Flash烧录实战

嵌入式系统开发中,引导加载器是芯片上电后执行的第一段软件,负责初始化硬件、加载操作系统或应用程序。其工作原理通常遵循多级引导链,从ROM固件到用户可定制的二级引导程序,逐级建立完整的软件运行环境。这一机制的技术价值在于实现可靠的系统启动、支持安全校验,并为多核异构架构提供协同基础。在应用场景上,引导加载器广泛应用于工业控制、汽车电子和物联网设备,确保设备能从非易失性存储器中自主启动。本文聚焦于TI AM243x这类高性能多核MCU,深入剖析其包含RBL和SBL在内的三级启动流程,并详细演示如何通过UART接

weixin_28703451的博客 582

Android Studio 安装配置教程 - Windows(详细版)

然后首先是安装程序,这里默认不翻墙,使用国内的,下载地址有两个。

晨曦 48万+

Ubuntu 22.04 安装 IsaacLab 2.1.0

本文介绍了IsaacLab的完整安装流程:1)创建Python3.10虚拟环境;2)安装PyTorch2.5.1(CUDA11.8);3)升级pip并安装IsaacSim4.5.0;4)克隆IsaacLab仓库;5)运行安装脚本(需接受EULA)。若遇cmake缺失错误,需执行sudo apt安装。安装完成后可通过Ant-v0训练任务验证,成功运行后将显示IsaacSim窗口和训练完成提示。注意:IsaacSim不同版本可共存于不同环境。

weixin_47880303的博客 2222

Android Studio下载及安装和Gradle的配置(非常详细)从零基础入门到精通,看完这一篇就够了

修改:gradle-wrapper.properties文件,如果想要指定版本的gradle,修改distributionUrl中的版本,只改后面的版本就行,防止自动下载慢,可以把提前下载的好的zip包,放到(C:\Users\Administrator.gradle\wrapper\dists\gradle-7.x.x-bin\6a41zxkdtcxs8rphpq6y0069z目录下,注意不要解压)。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

Python_0011的博客 4万+

零基础也能懂的Arduino ESP32离线安装包图文教程

手把手教你完成Arduino ESP32离线安装包的配置,无需联网也能快速搭建开发环境,适合初学者和网络受限用户,轻松实现arduino esp32离线安装包部署。

weixin_36213081的博客 2662

智能车图像处理20-进阶篇12--正入十字补线1

这篇文章主要讲述基本的正入十字补线方法。

taiyuezyh的博客 6930

Android studio配置NDK开发环境

为了提高代码效率,增强软硬件的结合,JNI 开发为Android 提供了便利,JNI 就是 java native interface ,通常称他为一种协议,即java 和 c/c++ 互调的接口。 而ndk 是开发 工具包,所以我们要安装这个工具包,就像 我们Android 开发的 sdk 一样。下面就讲一下as 下 ndk 环境的配置,分四步 1.第一步下载 ndk 开发包...

王项雨 的博客 1万+

液滴碰撞壁面的过程背景论文——bouncing反弹,spreading扩展,splashing飞溅。铺展过程介绍。还存在很多未解之谜。

【1993-德国-Phenomena of liquid drop impact on solid and liquid surfaces】液滴碰撞壁面的过程背景——bouncing反弹,spreading扩展,splashing飞溅。还存在很多未解之谜。还存在很多未解之谜。不同液滴形状碰撞过程。

qq_15963745的博客 197

Android Studio NDK之——环境配置

Android Studio NDK之——环境配置 筱宓dawnLing关注 0.7022019.03.31 21:46:00字数 523阅读 39,863 起因: c++工程师给了一份c++项目源码,没给说明文档,就丢一份源码压缩包要安卓嵌一层jni生成so库用,我该拿这份源码的哪些文件来用? 一脸懵逼.png 抱怨自己: 以前都是c++那边给so库和.h文件,直接用很方便,现在给源码自己搞,感觉自己就残废了 研究: 稍微了解ndk的小伙伴应该清楚,使用c++源码的方

xutaojxx的博客 1609

基于Cesium实现,动态水面+大坝排水动画

一、绘制面状水域,使用水波纹理,进行渲染,水体透明,可以看到底色。三、使用粒子系统,将喷泉改变方向,加上重力设置,实现排水动画。二、绘制线状三维体,用作模拟大坝拦截效果。四、最后,模拟水位上升,进行淹没分析,

一醉千秋的专栏 1418

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

android studio 配置NDK环境进行JNI开发

刚好在移植ArlinkPlayer工程到地面软件中需要用到一些NDK、JNI进行开发,就研究了一点入门基础,,纠结了好几天的问题,终于在昨天晚上解决了 分享一下技术成果,整理如下: 一、NDK基础:                                                                                              NDK全

zoe技术博客专栏 2056

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

在Android Studio中NDK环境配置

Android Studio中NDK环境配置 第一种方法: 1.)打开AndroidStudio,选择顶部工具条,Tools->Android -> SDK Manager (需翻墙) 2.)在弹出来的对话框中选择SDK Tools选项卡 3.)勾选上图中NDK,点击 Apply,开始安装 4.)安装完成后,重启Android Studio **以上

u012737144的专栏 2万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Android Studio下的 NDK 环境配置

JNI—Android Studio下的 NDK 环境配置JNI与NDK的开发准备NDK集成开发流程(AS)详细流程 JNI与NDK的开发准备 NDK集成开发流程(AS) 详细流程 安装配置NDK 1). https://github.com/inferjay/AndroidDevTools 根据自己的系统选择 2). 解压NDK的zip包到非中文目录 注意文件夹名字不能有空格 3). 配置...

weixin_42814000的博客 2448

Android Studio的NDK环境配置

Android Studio1.3版本开始了对NDK开发的支持,研究了一下环境的配置,记录一下 1.首先需要把Android Studio更新到1.3以上的版本 2.将 gradle更新到2.4以上版本 3.下载NDK最新版本 4.设置Android Studio的NDK路径 5.设置grapdle-wrapper.properties的d

Near的博客 5722

安卓开发环境搭建JDK + SDK Manager + NDK + Android Studio

第一次接触安卓开发,配置环境就折腾了一晚上。在此分享安装与配置过程,希望可以帮助更多入门开发者。 一、JDK JDK(Java Development Kit) 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。 1. 下载 : 官网下载地址 如图(红圈处注意,这里我选择的是8u191,64位,wi...

chengxunyang的博客 4445

Android Studio JNI开发(一)——NDK安装及环境配置

Android Studio JNI开发(一)——NDK安装及环境配置 简介 JNI JNI(Java Native Interface),是Java和C/C++相互通信的接口,实现了一个工程,多种语言并存。在Android Framework中,需要提供一种媒介或桥梁,将Java层(上层)与C/C++层(下层)有机的联系起来,使得他们互相协调完成某些任务。而充当这种媒介的就是Java本地接口(JNI,Java Native Interface)。 JNI提供一些列的接口,允许Java类与C/C++等本

tracy的博客 2603

Android Studio NDK开发环境配置--已验证

配置Android Studio NDK开发环境1 Android Studio安装2 环境配置3 问题 Android Studio、jdk、ndk下载地址: https://www.androiddevtools.cn/ 1 Android Studio安装 个人环境软件版本选择: Android Studio3.2.0 android-ndk-r14b jdk1.8.0_51 2 环境配置 jdk的bin目录放入系统环境变量path路径 SDK Location:选择自己的android sdk、jd

笔落梦昙的博客 608

[Android] 环境配置之Android Studio开发NDK

NDK 开发哪家强?XX XX 找 Blue Fly . 说到 NDK 开发,其实麻烦的是配置。 在这里不用配置Cygwin ,不用额外操作;不使用 Eclipse ;使用最新的 Android Studio 进行直接编译。

QiuJuer 3万+

WINDOWS7环境下android studio、NDK配置补充

由于项目需要初次接触android studio和ndk,配置过程总结如下,也请各位android 大牛多多指教 1. android studio 安装 2. jdk 安装 3. sdk安装 4. ndk解压 5. 环境变量的配置 以上是需要的安装的软件,网上流程很多。如需要,百度就可以了。ndk的配置流程网上也有,但往往不是很全面,也有android studio版本更新的

nachoe的博客 732

android studio重装ndk,Android Studio NDK之——环境配置

起因:c++工程师给了一份c++项目源码,没给说明文档,就丢一份源码压缩包要安卓嵌一层jni生成so库用,我该拿这份源码的哪些文件来用?一脸懵逼.png抱怨自己:以前都是c++那边给so库和.h文件,直接用很方便,现在给源码自己搞,感觉自己就残废了研究:稍微了解ndk的小伙伴应该清楚,使用c++源码的方式有两种,一种是直接新建支持c++的AS项目;AS3.0版本是这种界面AS3.3版本是这种界面....

weixin_33171065的博客 507

Android Studio NDK开发环境配置和os文件无法找到问题配置

在android studio开发环境中集成NDK和引入os文件时需要进行如下配置,否则会出现找不到os文件报错的问题。1、配置build.gradle文件,这里的build.gradle是指app模块下的build.gradle,不是整个工程的build.gradle文件。在模块的build.gradle的defaultConfig下加入以下ndk配置:ndk {      moduleName...

祥子的专栏 1004
上一篇: 史上最全的Java集合类解析
下一篇: Java----IO详解
HHcoco
博客等级 码龄13年 46粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值