idea使用javah一鍵編譯JNI的.標頭檔案
阿新 • • 發佈:2018-10-31
.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