F:\>javac f:\yudean\Sky.yudean\src\Sky_interface\SkyJavaAPI.javaF:\>javah f:\yudean\Sky.yudean\src\Sky_interface\SkyJAvaAPI.class
javadoc: 错误 - 非法的软件包名称:"f:\yudean\Sky.yudean\src\Sky_interface\SkyJAv
aAPI.class"
1 错误
怎么用javac编译成功后,用javah就有问题了呢?实现java 设备api调用出现的问题,JNI机制还不熟悉!!!
javadoc: 错误 - 非法的软件包名称:"f:\yudean\Sky.yudean\src\Sky_interface\SkyJAv
aAPI.class"
1 错误
怎么用javac编译成功后,用javah就有问题了呢?实现java 设备api调用出现的问题,JNI机制还不熟悉!!!
C:\Documents and Settings\Administrator>javah Sky_interface.SkyJavaAPI
错误:无法访问 Sky_interface.SkyJavaAPI
未找到 Sky_interface.SkyJavaAPI 的类文件
javadoc: 错误 - 找不到类 Sky_interface.SkyJavaAPI。
Error: 未在命令行中指定任何类。请尝试使用 -help。
是设置系统变量还是用户变量?
F:\java>javac SkyJavaAPI.javaF:\java>javah SkyJavaAPI
错误:无法访问 SkyJavaAPI
未找到 SkyJavaAPI 的类文件
javadoc: 错误 - 找不到类 SkyJavaAPI。
Error: 未在命令行中指定任何类。请尝试使用 -help。
怎么会找不到类?之前都已经用javac编译成功了的!!!???
//Java接口
package Sky_interface;public class SkyJavaAPI
{
---
}
它是类似java命令的,不是直接指定文件。
你指定了 package 但是你在使用javah的时候没有明确写明classpath 而且javah的用法不对 自己参考7L写法吧
F:\yudean\Sky.yudean\bin>javah -classpath . -jni SKy_interface.SkyJavaAPI
F:\yudean\Sky.yudean\bin>dir生成了一个名为Sky_interface.SkyJavaAPI.h的文件,接下来呢?怎么调用DLL?
static {
System.loadLibrary("mydllname");
}这样之后就可以直接调用里面的native方法了