java jni
第一步:使用javac命令编译java文件,生成class文件
javac Test.java
第二步:使用javah命令生成头文件
javah -jni 包名.类名
注意:没有.class 而且 如果有包名的话 记得要把包名也写上
例:
文件路径:
文件所在的包,及内容 有native关键字声明的方法才会调用DLL库
命令行:
之后会在CD的目录下生成一个 包名_类名.h的头文件夹
第三步:创建dll动态链接库项目(这里用的是vs2017、怎么安装自行百度)
创建好的DLL项目:
第四步:在C/C++项目中导入头文件
注意:此时还需要导入java的头文件 jni.h jni_md.h
jni.h 以及jni_md.h的路径在 java的安装位置下的include文件夹内 以及win32下
第五步:编写好程序后打包DLL库
根据java类生成的头文件:
C++代码
编译:
生成的dll文件路径:(这里我选择是是64位因为我的jdk是64的——根据自己需要来选择生成对应的文件)
第六步:将生成的dll文件放入System32下(64位放入SysWOW64下)或者放入项目文件中
ps:我这里放入文件中(访日System32下的可以跳过这一步)
1.新建一个lib文件夹放入dll文件
2.右键项目build Path ->Configure Build Path
最后一步: 加载dll文件并运行
附:
Java和Jni类型对照表
java jni相关推荐
- java jni调用dll文件_Java通过jni调用动态链接库
(1)JNI简介 JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++).从Java1.1开始,JNI标准成为java ...
- Java JNI简单实现
Java JNI简单实现 JNI(Java Native Interface)允许了Java和C&C++进行交互?这不折腾人嘛! 一.JNI简述 http://baike.baidu.com/ ...
- java jni开发_Java JNI开发实践记录
当使用到JNI的时候,基本可以肯定Java的平台移植性注定减弱,接下来记录一次使用Java JNI开发的经历. 关于Java JNI的相关资料参见: 下面是使用JNI常见三种场景: 1.在Java应用 ...
- Java JNI初体验
Java JNI初体验 JNI是Java Native Interface的缩写,通过使用 Java本地接口书写程序,可以确保代码在不同的平台上方便移植. 从Java1.1开始,JNI标准成为java ...
- Java JNI调用IC卡读卡器
Java JNI调用IC卡读卡器 Java调用IC卡读卡器的DLL一般有以下2种方式: 1.使用JNative第三方库调用IC卡读卡器dll的接口. 2.使用JNI调用IC卡读卡器dll的接口. JN ...
- java JNI介绍
java JNI介绍 文章目录 java JNI介绍 1. Java调用C++代码 2.C++代码调用java代码 JNI是Java Native Interface的全称. oracle文档中是这样 ...
- idea java jni 调试_IntelliJ IDEA平台下JNI编程(一)—HelloWorld篇
JNI(Java Native Interface),出于学习JNI的目的,为了能够更方便快速地运行程序.本文的是在IDEA中进行,而不在AndroidStudio,这样能够对NDK的工作过程有个更深 ...
- java jni key_JNIKeyProtection
软件简介 JNIKeyProtection Android 使用 so 文件存储私密数据,并增加签名防盗机制 0x00 实际项目中引出的一些需求问题 有时你需要在客户端存放一些保密的数据,比如某些授权 ...
- java jni demo_Android JNI:让你一眼知之的JNI DEMO
Android JNI:让你一眼知之的JNI DEMO 先按照步骤把 DEMO 跑成功. image 1. 使用 AS 创建一个 Android 项目 注意☑️: image 剩下的就 next fi ...
- java jni 参数_Java 与 JNI 互传数据的那些事
常规类型的传递 这部分算是 JNI 的基本内容, 理所当然的有一大坨接口来干这些事情, 比如 NewString, GetStringChars, GetArrayLength, NewByteArr ...
最新文章
- [LOJ 6288]猫咪[CF 700E]Cool Slogans
- 数据结构习题精解 C语言实现+微课视频(习题解答、研考试题、微课视频)
- php退出登录后不能再登录了,php怎么实现退出登录功能?
- 学典教育计算机二级,层次化分类的离线中文签名真伪鉴别方法-计算机工程与应用.PDF...
- Tecplot如何提取某点数据并导出
- Linux下启动程序常见问题,linux系统启动流程及常见故障解决方式
- 转载:Android Studio 3.1.2 新项目报错 AAPT2 error: check logs for details (Gradle 3.1.2)
- Linux键盘连续输入,关于修改键盘输入
- Zabbix agent 在windows上安装部署
- 中国摊铺设备市场趋势报告、技术动态创新及市场预测
- bzoj1207 [HNOI2004]打鼹鼠
- XX公司信息化建设草案
- excel中indirect函数使用方法和应用实例
- 如何写出有吸引力的软文?经典软文案例分析
- Efficient Protocols for Set Membership and Range Proof 学习笔记
- 清理垃圾文件属于计算机安全维护吗,垃圾文件清理,垃圾文件清理器
- CentOS 6.5下安装Confluence 5.4
- 这篇文章告诉你:信息学奥赛的由来,几岁学对孩子有多重要性
- 问号在c语言里面的作用,问号的作用是什么-写作基础知识
- 光速学会前端三件套之html