IDEA开发,Jni中javah使用方式的探索

 

javah个人认为只是一个帮助我们便捷生成.h头文件的工具而已,而不需要去build生成class什么的,只需要.java文件里面的内容而已。而.java文件里面你写的native方法和build之后.class文件里的内容并没有不同,怀着这样的想法,进行了下面的测试。

1.正确的做法

 

目录如下,

1.打开终端,进入java目录(打开终端默认是项目的根目录,.代表当前目录,..代表父目录):cd ./src/main/java

2.完整的命令如下:javah -d ./jni  -jni -classpath . HelloWorld.HelloJNI

下面详细解释这个命令:

1.使用javah:javah命令在你安装的JDK路径下的bin目录里,假如你环境变量配置正确的话, 这一步是没有问题的

2.-jni: 使 javah 创建一输出文件,该文件包含 JNI 风格的本地方法函数原型,这是缺省输出,所以 -jni 的使用是可选的。其中,-jni是javah默认的模式,所以,是可以省略的

3.-classpath: 这里分为两部分,第一部分是指定查找你需要生成.h头文件的.java或.class文件的目录,这一步经测试,在你用相对路径时必须要在包外进行,以上图为例,你不能进入HelloWorld路径下进行avah -d ./jni -jni -classpath . HelloJNI命令,虽然在文件存储上他也是个文件夹,但在这里面他是包pakage,其中多个路径用“;”隔开。第二部分是指定.java或.class文件,多个文件用空格隔开

4.-d:生成.h头文件的目录,若不指定的话则默认为当前使用此javah命令的目录。-d一般放在-classpath前面,因为-classpath会一直监测后面的路径,所以如果-d在-classpath后面的话需要这么用。javah -jni -classpath 路径1;路径2;等待路径路径;-d 保存路径 HelloWorld.HelloJNI等.java .class文件

说完了之后,那么你就能理解,最为直接的命令就是javah -classpath .(这有个点) HelloWorld.HelloJNI就能生成头文件了

2.使用External Tools一键生成

External Tools是Intelli J工具(IDEA和Android Studio都是基于它开发的)里提供的便携式命令工具。

File-》setting-》Tools-》External Tools进入编辑添加命令页面

 

show in可以选择它出现的地方,下面来使用它

 

可以看见很轻松的帮我们生成了头文件

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值