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

Android 利用javah.exe 生成JNI头文件 时的注意事项

2015-01-05 14:02 330 查看
工程需要进行NDK编程,看网上教程说是利用javah.exe可以生成.h头文件。

可是实现过程中,发现几个坑,在这里提醒兄弟们注意下:

先将正确的命令行贴出来:

D:\TestProject01>javah -jni -d D:\jni\ -classpath "D:\TestProject01\bin\classes" com.test.ClassABC

-jni: 生成jni形式的头文件(默认值)

-d:
指定输出路径

-classpath: 指定类所在的根目录

com.test.ClassABC: 包名+类名

几点注意:

1)-classpath 前面要加"-", 网上搜到的有的命令行中classpath前面没有加,导致出错;

2)类的路径要加双引号;

3) 包名,类名,区分大小写,大小写错了也不行。

若是没有注意上面几点,极可能报下面的错.

Exception in thread "main" java.lang.IllegalArgumentException: Not a valid class

name: D:\Qmap3DLibV3\bin\classes

at com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:177)

at com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:68)

at com.sun.tools.javah.JavahTask.run(JavahTask.java:509)

at com.sun.tools.javah.JavahTask.run(JavahTask.java:335)

at com.sun.tools.javah.Main.main(Main.java:46)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: