Android JNI学习之javah命令的正确使用
2014-09-18 17:17
363 查看
按照网上抄来的javah用法一般出错,今天查了一下午在一篇文章(http://www.ibm.com/developerworks/cn/java/j-jtctips/part6/index2.html) 中看到:“
Java 源文件并生成 C 头文件,其中包含您的 Java 代码中所有本机方法的 JNI 存根(stub)。如果您正在生成一个类的 JNI 存根,而且您已经把这个类定义为包的一部分,那么您 必须 指定完全限定的类名。”
现在总结如下:
TestHello.java所在的的目录如下:
E:/rcpworkspace/com.dlut.datasender/test/com/dlut/datasender/communication
TestHello.java
Java代码
![](http://www.iteye.com/images/icon_star.png)
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代码
![](http://www.iteye.com/images/icon_star.png)
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即可
Javah获取您的
Java 源文件并生成 C 头文件,其中包含您的 Java 代码中所有本机方法的 JNI 存根(stub)。如果您正在生成一个类的 JNI 存根,而且您已经把这个类定义为包的一部分,那么您 必须 指定完全限定的类名。”
现在总结如下:
TestHello.java所在的的目录如下:
E:/rcpworkspace/com.dlut.datasender/test/com/dlut/datasender/communication
TestHello.java
Java代码
![](http://www.iteye.com/images/icon_star.png)
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代码
![](http://www.iteye.com/images/icon_star.png)
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即可
相关文章推荐
- Android JNI学习之javah命令的正确使用(找了好半天才找到的,汉,网上好多说法都没用)
- (转载)Android JNI学习之javah命令的正确使用(找了好半天才找到的,汉,网上好多说法都没用)
- Android JNI学习之javah命令的正确使用 转
- Android JNI学习之javah命令的正确使用(找了好半天才找到的,汉,网上好多说法都没用)
- Android NDK学习(3)使用Javah命令生成JNI头文件 .
- 正确使用javah命令生成JNI的头文件
- 02_JNI中Java代码调用C代码,Android中使用log库打印日志,javah命令的使用,Android.mk文件的编写,交叉编译
- Android NDK学习(3)使用Javah命令生成JNI头文件 .
- Android NDK学习(3)使用Javah命令生成JNI头文件
- 【转】Android NDK学习(3)使用Javah命令生成JNI头文件 .
- Android中使用javah生成jni头文件的正确方法
- 02_JNI中Java代码调用C代码,Android中使用log库打印日志,javah命令的使用,Android.mk文件的编写,交叉编译
- Android JNI学习之一 javah的使用
- Android JNI学习之NDK_r5的使用简记(和r4之前有点区别)
- JNI中javah命令的使用,生成.h的头文件
- 命令行下使用javah命令生成.h文件,出现“错误: 无法访问android.app.Activity 找不到android.app.Activity的类文件”的解决方法
- linux中如何使用javah命令生成jni头文件
- android ndk使用Javah命令生成JNI头文件
- Android中关于JNI 的学习(五)在C文件中使用LogCat
- Android学习之Service命令的使用以及am的用法