Android JNI开发生成.h头文件问题

在JNI开发中,首先要将创建的anroid类编译成.h文件,编译用到命令javah,因为第一次用,之前对java的编译过程也不怎么了解,因此走了好多弯路,网络没有对这一步的详细介绍,这里讲一下:java

经过DOS命令执行,(1)开始-》运行-》cmd->进入dos命令操做界面网络

在命令行中输入javah -classpath bin\classes -d jni com.sirc.jni.HelloWorld spa

经过输入javah 能够看到如下结果:
用法:javah [选项] <类>命令行

其中 [选项] 包括:blog

        -help                 输出此帮助消息并退出 
        -classpath <路径>     用于装入类的路径 
        -bootclasspath <路径> 用于装入引导类的路径 
        -d <目录>             输出目录 
        -o <文件>             输出文件(只能使用 -d 或 -o 中的一个) 
        -jni                  生成 JNI样式的头文件(默认) 
        -version              输出版本信息 
        -verbose              启用详细输出 
        -force                始终写入输出文件开发

这代表:-classpath是用来装入类的路径的,而前面咱们已经进入了项的根路径d:\workspace\ar\jnitest目录,因此-classpath只要装载HelloWorld.class类文件的bin\classes目录,-d用来指定输出路径,通常在项目根路径下面新建一个jni文件夹用来存储c文件,因此,-d后面输入jni,最后是报名+类名cmd

执行事后能够在jni文件夹下面看到生产的.h头文件com_sirc_jni_HelloWorld.h,生成成功。it

注意:路径必定要对应正确,我刚开始一直录入有问题,不行的话能够直接输入全路径:io

javah -classpath D:\workspace\ar\jnitest\bin\classes -d jni com.sirc.jni.HelloWorld编译

 

可是我用的时候提示javah不是内部程序或外部程序,原来是环境变量中jdk的参数掉了,从新设置一下

 

path中添加:C:\Program Files (x86)\Java\jdk1.6.0_18\bin;C:\Program Files (x86)\Java\jre6\bin

classpath新建或添加:C:\Program Files (x86)\Java\jdk1.6.0_18\lib\dt.jar;C:\Program Files (x86)\Java\jdk1.6.0_18\lib\tools.jar

java_home新建:C:\Program Files (x86)\Java\jdk1.6.0_18

相关文章
相关标签/搜索