.h头文件中方法命名规范需要用到包名,所以,使用javah编译jni时工作目录一定要是在包名父目录中,否则Exception in thread “main” java.lang.IllegalArgumentException: Not a valid class name:
- at com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:129)
at com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:107)
at com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:64)
at com.sun.tools.javah.JavahTask.run(JavahTask.java:503)
at com.sun.tools.javah.JavahTask.run(JavahTask.java:329)
at com.sun.tools.javah.Main.main(Main.java:46)
被右键编译的类名
$FileClass$
一般默认包名父目录是这样,如果是idea创建的项目就用下面固定写法就行,其它的根据需求自定义:
$ProjectFileDir$\app\src\main\java
贴几张图,
步骤一:
步骤二:
步骤三:
OK