在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

Android JNI开发生成.h头文件问题的更多相关文章

  1. Android JNI开发生成.h头文件问题(转)

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

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

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

  3. 解决javah生成.h头文件找不到找不到android.support.v7.app.AppCompatActivity的问题

    问题描写叙述: 在使用Android Studio进行JNI开发时,须要使用javah生成C或C++的头文件,可是可能会遇到: 错误: 无法訪问android.support.v7.app.AppCo ...

  4. jni.h头文件详解二

    作者:左少华 博客:http://blog.csdn.net/shaohuazuo/article/details/42932813 转载请注明出处:http://blog.csdn.net/shao ...

  5. 【转】 jni.h头文件详解(二)

    原文网址:http://blog.csdn.net/shaohuazuo/article/details/42932813 作者:左少华 博客:http://blog.csdn.net/shaohua ...

  6. Windows环境下教你用Eclipse ADT 插件生成.h/.so文件,Java下调用JNI,轻松学习JNI

    准备工作:Eclipse ADT IDE 开发工具,NDK .Java 环境,博主的配置是:Windows x86 , ADT Build: v22.3.0-887826 , JAVA 1.7, ND ...

  7. jni.h头文件详解一

    1.jni.h头文件路径: /usr/lib/jvm/jdk_1.6.0_43/include/jni.h 2.jni.h头文件组成分析图: 3.下面通过上图进行分析讲解jni.h头文件. 一. jn ...

  8. android JNI开发

    1.NDK简介 NDK(Native Development Kit)NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk.NDK集成了交叉 ...

  9. android studio 3.4配置Android -jni 开发基础

    首先下载配置android studio ndk 1.打开sdkManager下载CMake和LLDB 2.配置ndk 项目新建 项目建立完毕后,工程目录如下,cpp文件夹是系统自动生成的 3.自定义 ...

随机推荐

  1. Leetcode 66 Plus One STL

    题意让大数加1 我的做法是先让个位+1,再倒置digits,然后进位,最后倒置digits,得到答案. class Solution { public: vector<int> plusO ...

  2. 大家一起写mvc(二)

    上一篇已经看了,我想大家都明白了mvc的原理,今天我们来说一下要写自己mvc框架必须要会的技术. mvc的目录是这样的 src目录是我们核心的mvc代码.这个代码明天讲,今天主要讲的代码都在test目 ...

  3. IIS7 HTTPS 绑定主机头

    IIS7下面默认HTTPS绑定是无法指定主机头的,但我们可以通过手工修改IIS配置来实现主机头绑定. 打开C:\Windows\system32\inetsrv\config\applicationH ...

  4. Windows7下面exe寄宿WCF:Http无法注册URL{0} ,进程不具有此命名空间的访问权限问题

    运行寄宿exe程序的时候通过run as administrator来启动就OK了.

  5. Jmeter调试工具---HTTP Mirror Server

    之前我介绍过Jmeter的一种调试工具Debug Sampler,它可以输出Jmeter的变量.属性甚至是系统属性而不用发送真实的请求到服务器.既然这样,那么HTTP Mirror Server又是做 ...

  6. Spark核心—RDD初探

    本文目的     最近在使用Spark进行数据清理的相关工作,初次使用Spark时,遇到了一些挑(da)战(ken).感觉需要记录点什么,才对得起自己.下面的内容主要是关于Spark核心-RDD的相关 ...

  7. ATT 解锁手机

    最近豪们都在忙着买买买950 本土鳖左瞅瞅右看看实在钱包不够豪 正好看到美帝640打折39刀 (http://www.microsoftstore.com/store/msusa/en_US/pdp/ ...

  8. End of HTML blink tag

    Recently I have read a news which said "Firfox 23 nixes support for outdated blink HTML tag&quo ...

  9. kwm备忘

    brew install homebrew/binary/kwm ==> Tapping homebrew/binary Cloning into '/usr/local/Library/Tap ...

  10. 使用pathogen管理Vim插件并托管到Github

    参照文章[1][2]的办法,将vim打造成一个Python开发环境.文章中使用的是 pathogen + git 来管理 Vim 插件的.对这种方式还不太明白的同学可以参考[3]中的介绍.pathog ...