Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android Studio上使用JNA加载*.so_Java_Android_Android Studio_Jna_.so - Fatal编程技术网

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