Java 在Android Studio上使用JNA加载*.so
我正在开发一个Java 在Android Studio上使用JNA加载*.so,java,android,android-studio,jna,.so,Java,Android,Android Studio,Jna,.so,我正在开发一个Android服务,它可以与硬件和应用程序进行通信。我正在使用本机库访问硬件(libTemp.so)。我在windows&ubuntu上用一个使用JNA的java程序测试了这个lib temperatureHardware=(TempNative)Native.loadLibrary(“libTemp.so”,TempNative.class) 这就是我如何将*.so库与临时本机对象连接起来的方法。当我在安卓系统上尝试时,我得到如下结果 W/linker:/data/app/com
Android服务
,它可以与硬件和应用程序进行通信。我正在使用本机库访问硬件(libTemp.so)。我在windows
&ubuntu
上用一个使用JNA的java程序测试了这个lib
temperatureHardware=(TempNative)Native.loadLibrary(“libTemp.so”,TempNative.class)
这就是我如何将*.so
库与临时本机对象连接起来的方法。当我在安卓系统上尝试时,我得到如下结果
W/linker:/data/app/com.example.kube.tempsystemservice-YUkS9udICA7GsJhTA8fG4A==/lib/arm/libjnidispatch.so:缺失DT_SONAME将使用basename替换:“libjnidispatch.so”
原因:java.lang.UnsatifiedLink错误:无法加载库'libTemp.so':在资源路径(.)中找不到本机库(android arm/libTemp.so.so)
这是因为服务找不到lib文件吗
我添加lib文件如下所示
尝试使用不带扩展名的库名称
temperatureHardware = (TempNative) Native.loadLibrary("libTemp", TempNative.class);
它给出了如下问题:原因:java.lang.unsatifiedLinkError:无法加载库“Temp”:在资源路径(.)中找不到本机库(android arm/libTemp.so)
您可以尝试将绝对路径传递到库,包括filename.check