必须保证java方直接调用so的类和so库名一样,否则会报UnsatisfiedlinkError
比如:
public class lwltools extends Activity{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("测试ndk"+getBastUrl());
setContentView(tv);
}
public native String getBastUrl();
static {
System.loadLibrary("lwltools");
}
}
必须要保证activity名和System.loadLibrary("lwltools");这个库名一样
如果是.so包提供给第三方非jni工程使用,则调用方的java程序不但类名要求和so库名一样,并且包名也需要和so库创建时的包名一样