zoukankan      html  css  js  c++  java
  • Android JNI开发生成.h头文件问题

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

    通过DOS命令执行,(1)开始-》运行-》cmd->进入dos命令操作界面

    在命令行中输入javah -classpath binclasses -d jni com.sirc.jni.HelloWorld 

    通过输入javah 可以看到以下结果:
    用法:javah [选项] <类>

    其中 [选项] 包括:

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

    这表明:-classpath是用来装入类的路径的,而前面我们已经进入了项的根路径d:workspacearjnitest目录,所以-classpath只要装载HelloWorld.class类文件的binclasses目录,-d用来指定输出路径,一般在项目根路径下面新建一个jni文件夹用来存储c文件,所以,-d后面输入jni,最后是报名+类名

    执行过后可以在jni文件夹下面看到生产的.h头文件com_sirc_jni_HelloWorld.h,生成成功。

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

    javah -classpath D:workspacearjnitestinclasses -d jni com.sirc.jni.HelloWorld

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

    path中添加:C:Program Files (x86)Javajdk1.6.0_18in;C:Program Files (x86)Javajre6in

    classpath新建或添加:C:Program Files (x86)Javajdk1.6.0_18libdt.jar;C:Program Files (x86)Javajdk1.6.0_18lib ools.jar

    java_home新建:C:Program Files (x86)Javajdk1.6.0_18

  • 相关阅读:
    Linux系统中DHCP的配置
    Linux系统下第三方软件安装实例
    Linux系统在启动过程中mbr主引导程序被破坏的解决方案
    Linux系统在启动过程中启动级别发生错误的解决办法
    Linux系统下超级用户密码的修改
    Linux系统在启动过程中内核文件丢失的解决方法
    Linux系统在启动过程中grub引导文件丢失的解决方法
    Linux之FTP服务
    Linux之LVM设备的管理
    Linux下设备的基本管理
  • 原文地址:https://www.cnblogs.com/gisdream/p/3521090.html
Copyright © 2011-2022 走看看