您的位置:首页 > 移动开发 > Android开发

Android JNI学习之javah命令的正确使用

2014-09-18 17:17 363 查看
按照网上抄来的javah用法一般出错,今天查了一下午在一篇文章(http://www.ibm.com/developerworks/cn/java/j-jtctips/part6/index2.html) 中看到:“
Javah
获取您的
Java 源文件并生成 C 头文件,其中包含您的 Java 代码中所有本机方法的 JNI 存根(stub)。如果您正在生成一个类的 JNI 存根,而且您已经把这个类定义为包的一部分,那么您 必须 指定完全限定的类名。”

现在总结如下:

TestHello.java所在的的目录如下:

E:/rcpworkspace/com.dlut.datasender/test/com/dlut/datasender/communication

TestHello.java

Java代码


package com.dlut.datasender.communication;



public class TestHello {



static {

System.loadLibrary("TestHello" );

}



public static native void hello(String msg);



public static void main(String[] args) {

hello("Hello,Kimm!" );

}

}

[java] view
plaincopy

package com.dlut.datasender.communication;



public class TestHello {



static {

System.loadLibrary("TestHello");

}



public static native void hello(String msg);



public static void main(String[] args) {

hello("Hello,Kimm!");

}

}

1.运行cmd命令,cd到TestHello.java所在的目录下面,输入:

Java代码


javac TestHello.java

[java] view
plaincopy

javac TestHello.java

没有出错的话会在当前目录(E:/rcpworkspace/com.dlut.datasender/test/com/dlut/datasender/communication)下面生成TestHello.class文件。

2.cd到E:/rcpworkspace/com.dlut.datasender/test/(source folder根目录)

输入: set classpath=E:/rcpworkspace/com.dlut.datasender/test 回车

3.再输入:javah -jni com.dlut.datasender.communication.TestHello 回车

这时候在E:/rcpworkspace/com.dlut.datasender/test下面会生成一名为com_dlut_datasender_communication_TestHello.h的文件

4.重命名com_dlut_datasender_communication_TestHello.h为TestHello.h即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐