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

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

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

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

其中 [选项] 包括:

-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,最后是报名+类名

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

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

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

转自:http://www.cnblogs.com/gisdream/p/3521090.html

转载于:https://www.cnblogs.com/YangBinChina/p/4538545.html

Android JNI开发生成.h头文件问题(转)相关推荐

  1. android studio jni 开发生成.h

    命令: D:\AndroidStudioProject\testJNI\app\src\main\java\com\example\binbin\testjni>javac myJNI.java ...

  2. gsoap 学习 1-由wsdl文件生成h头文件

    开始前先看一下用户向导吧 http://www.cs.fsu.edu/~engelen/soap.html 中左侧点击Documentation 英语水平确实有限,有些内容可能说的不准确,敬请参考向导 ...

  3. java生成.h头文件_javah头文件生成器

    javah头文件生成器 javah程序创建C头文件和存根文件,这些是把本地C成员函数包入java 所需要的.被创建的头文件给出了有关java类的信息,这些信息是C成员函数与java类交换数据所必需的. ...

  4. python读xml文件生成.h头文件_PYTHON读写xml文件的方法

    要生成的xml文件格式如下: [python] sample xml thing ma xiaoju Springs Widgets, Inc. First I think widgets are g ...

  5. python读xml文件生成.h头文件_Python创建xml文件示例

    Python创建xml文件示例 这里有新鲜出炉的 Python 入门,程序狗速度看过来! Python 编程语言 Python 是一种面向对象.解释型计算机程序设计语言,由 Guido van Ros ...

  6. 解决javah生成c头文件时找不到android类库的问题

    解决javah生成c头文件时找不到android类库的问题 参考文章: (1)解决javah生成c头文件时找不到android类库的问题 (2)https://www.cnblogs.com/liul ...

  7. 三维人脸_无法打开gl\glaux.h头文件及无法生成 SAFESEH 映像的解决方法

    一.无法打开gl\glaux.h头文件 下载缺少的文件. 下载源1:CSDN下载 OpenGL 安装包所需文件下载: http://d.download.csdn.net/down/2560229/s ...

  8. VS+QT没有自动生成.ui对应的ui_XXXX.h头文件问题

    1.在qt安装包下-> qbase -> bin 目录下有对应的uic.exe用来生成 .ui对应的ui_XXXX.h头文件  所以 cmd进入bin目录,运行uic XXXX.ui ui ...

  9. c语言开发 .c .h,求助C语言大佬 , 只会写到一个.c文件里 ,不会用.h头文件

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 简答题] 实验任务:学生成绩统计 从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能: (1)统计不 ...

最新文章

  1. 浅谈几种区块链网络攻击以及防御方案之51#37攻击
  2. linux查看硬件和系统信息的相关命令简介
  3. PHP图片文字水印效果
  4. mysql报表占容量_MariaDB(MySQL)修改表结构报表空间满
  5. 第十一期:数据挖掘其实就是为了干这四种事?
  6. 服务器bios修改uefi,服务器 uefi bios设置
  7. 如何解决NDK toolchains出现ABI mips64el-linux-android无法编译问题
  8. img android 刷机工具,使用fastboot工具刷入recovery.img、boot.img、system.img等
  9. Web测试中性能测试基础
  10. C语言图形库——EasyX基本贴图
  11. IBM人工智能项目Watson旧金山开设新总部
  12. r语言 svycoxph_R语言之cox回归分析
  13. 反弹球消砖块C语言重构函数封装
  14. 记录:【DIY】一块SSD拯救了我的笔记本
  15. 蓝桥杯C语言算法提高:复数归一化
  16. 【金三银四】一个问题就知道你会不会CSS了
  17. java 常用四舍五入保留小数点后两位方法
  18. python 筛选重复数据和不重复数据_[Python] Pandas 对数据进行查找、替换、筛选、排序、重复值和缺失值处理...
  19. AVI文件结构分析及举例验证
  20. 基础知识补充——白噪声、高斯白噪声

热门文章

  1. 获取PE文件的区段表
  2. 编译FileMon出错
  3. 第四章 PX4-Pixhawk-MPU6000传感器驱动解析
  4. LeetCode面试必刷题目总结 持续更新中...
  5. 立个flag,一个月之内把知识点整理完,放到博客
  6. MySQL子查询嵌套查询
  7. socket网络编程——多进程、多线程处理并发
  8. Vitis学习记录(一)
  9. 计算机试题新编实训,计算机基础与实训 练习题
  10. 利用正则匹配数字后边的字符_图解正则——字符匹配