//第一个类,其中有一个native函数,一个非native函数
package rfid;
public class Reader
{
public native int openReader(int linkType,String com_port); //native函数
public void f1() //非native函数
{
System.out.println("hello");
}
public static void main(String[] args)
{
System.loadLibrary("TestArray");
long iBack;
Reader reader=new Reader();
reader.openReader(2,"10.21.9.57"); //调用成功!
reader.f1(); //调用成功!
}//另一个类
package rfid;
import rfid.Reader;
public class Test
{
public static void main(String[] args)
{
try
{
Reader reader=new Reader();
int iBack;
reader.f1(); //调用非native函数,成功!
iBack=reader.openReader(2,"10.21.9.57"); //调用native函数,失败!
if(iBack==0)
{
System.out.println("OK");
}
else System.out.println("初始化失败");
}
catch(Exception e){e.printStackTrace(); }
}}//第二个类运行时的错误提示
Exception in thread "main" java.lang.UnsatisfiedLinkError: openReader
at rfid.Reader.openReader(Native Method)
at rfid.Test.main(Test.java:14)想在其他类里访问Reader对象的native方法,请高手指点一下,谢谢!
package rfid;
public class Reader
{
public native int openReader(int linkType,String com_port); //native函数
public void f1() //非native函数
{
System.out.println("hello");
}
public static void main(String[] args)
{
System.loadLibrary("TestArray");
long iBack;
Reader reader=new Reader();
reader.openReader(2,"10.21.9.57"); //调用成功!
reader.f1(); //调用成功!
}//另一个类
package rfid;
import rfid.Reader;
public class Test
{
public static void main(String[] args)
{
try
{
Reader reader=new Reader();
int iBack;
reader.f1(); //调用非native函数,成功!
iBack=reader.openReader(2,"10.21.9.57"); //调用native函数,失败!
if(iBack==0)
{
System.out.println("OK");
}
else System.out.println("初始化失败");
}
catch(Exception e){e.printStackTrace(); }
}}//第二个类运行时的错误提示
Exception in thread "main" java.lang.UnsatisfiedLinkError: openReader
at rfid.Reader.openReader(Native Method)
at rfid.Test.main(Test.java:14)想在其他类里访问Reader对象的native方法,请高手指点一下,谢谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货