在Java代码中使用Android .so

时间:2016-05-27 09:59:36

标签: java android android-ndk java-native-interface shared-libraries

美好的一天。我有一个库。所以在x86 Android上运行良好。 如何在Java中使用这个库?

System.getProperty("sun.arch.data.model").equals("32");
  

static
    {
        System.loadLibrary("full/path/to/library/liblibrary.so");
    }
  

线程“main”中的异常java.lang.UnsatisfiedLinkError:no   java.library.path中的full / path / to / library / liblibrary.so

也许它使用Android NDK中的一些库?

1 个答案:

答案 0 :(得分:0)

System.loadLibrary的参数是程序员任意选择的库名。系统遵循标准但特定于平台的方法将库名称转换为本机库名称。例如,Solaris系统将名称pkg_Cls转换为libpkg_Cls.so,而Win32系统将相同的pkg_Cls名称转换为pkg_Cls.dll

更多来自at Oracle's JNI documentation