androidstudio中怎么自动生成jni头文件

androidstudio中怎么自动生成jni头文件,第1张

总共有三种方式生成Jni头文件,但归根结底只有一种,只是 *** 作方法不一样,我在这里做一下记录,方便下次使用。

1.1

1.利用Android Studio的Terminal,进入你自戚基棚己的Android工程文件的app/src/main目录,例如(D:\Users\AndroidStudio\Application\app\src\main)

在Terminal中输入命令

cd app\src\main

这样就进入到了main目录,可以使用dir命令查看当前目录有哪些高则文件

总共有三种方式生成Jni头文件

2. 在Terminal中输入命令

javah -d jni -jni -classpath ..\..\build\intermediates\classes\debug com.example.lenovo.application.JniClass

解释:

-d<dir>输出目录,后面跟上要生成的目录名

-jni 生成Jni样式的标头文件

-classpath<path>指定加载类的路径,后面跟上你要生成头文件的这个类的路径,例如:

..\..\..\build\intermediates\classes\debug(这个是类所在的路径)

com.example.lenovo.application.JniClass(类的包名)

注意,要生成.class文件,要Make Project

3.如果前面没有出错的话,就能看到jni文件和生成的头文件

其实jni目录可以不用命令生成锋宽,Android Studio已经为我们准备好了。

这样就能快速的生成jni目录了。

然后在Terminal中进入到该目录,输入命令

cd app\src\main\jni

在执行如下命令

javah -d jni -jni -classpath ..\..\build\intermediates\classes\debug com.example.lenovo.application.JniClass

这样也能生成头文件

利用Windows的cmd生成jni头文件

1.进入到你自己Android工程目录下的app\build\intermediates\classes\debug

2.然后Shift加鼠标右键,点击红色方框的内容

3.出现cmd命令行,输入如下命令

javah -jni com.example.lenovo.application.JniClass

4.会在当前目录生成*.h头文件,把它拷贝进jni目录就可以了。

jni目录可以按照上面的方法创建

至此,生成jni头文件的三种方法讲解完毕。

jNi就是java调用本地方法的技术,最简单的来说,java运行一个程序需要要和不同的系统平台打交道,在windows里就是和windows平台底层打交道,mac就是要和mac打交道,jvm就是通过大量的jni技术使得java能够在不同平台上运行。而使用了这技术的一个标志就是native,如果一个类里的一个方法被native修饰,那就说明这个方法是jni来实现的,他是通过本地系统api里的方法来实现的。当然这个本地方法可能是c或者C++,当然也可能是别的语言。jni是java跨平台的基础,jvm通过在不同系统上调用不同的本地方法使得jvm可以在不同平台间移植。

当前你自己也可以用jni来写一些程序,这种基本上是你以前使用了其他语言完成了一些功山团能,但是你有要用java来重复这些功能的时候,就可以使用jni来完成了。不过带来的问题就是,如果你的那个本地方法是依托于本地 *** 作系统的话,那就意味着你的java程序也只能在这一个系统上运行了。所以jni就使得java很容易限定在了一个系统平台上,而jdk的作用在于他提供一个规范,这个规范就是包含了很多native方法,这些方液返法都是要本地 *** 作系统来实现的,而实现了这些本地方法的 *** 闹唯饥作系统就可以移植java平台了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12241450.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存