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


在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


更多相关文章

  1. android获取mp4视频文件总时长和视频宽高
  2. Android(安卓)读取jar包中assets资源文件
  3. 【Android(安卓)修炼手册】Gradle 篇 -- Android(安卓)Gradle Pl
  4. Cocos2dx发布Android包,配置开发环境(菜鸟级入门,一看就会)
  5. Android(安卓)ndk入门准备--hello jni
  6. Android(安卓)AppShortcuts 桌面启动图标长安弹出框 类似支付宝
  7. Android(安卓)VideoView播放网络视频
  8. Cocos2d-x学习之创建Android工程和编译
  9. Android用户界面开发(11):Menu

随机推荐

  1. android Matrix 操作
  2. Android中Tomcat的简单配置和使用
  3. android 面试题经典
  4. Android(安卓)APIDemos 研读之一:android.
  5. android:maxLength="" 设置字数限制无效
  6. IDC:Android市场占有率仍未超越Symbian
  7. Android开发基础(2.2)--利用NDK搭建自己的A
  8. Android(安卓)Framework 框架系列之 Phon
  9. 极光推送 使用实例 (一)服务端
  10. Dart及Flutter杂记