在 Android Studio 上使用 JNA 加载 *.so
Load *.so with JNA on Android Studio
我正在研究 Android Service
,它与硬件和应用程序进行通信。我正在使用本机库访问硬件 (libTemp.so)。我使用 JNA 在 windows
& ubuntu
上使用 java 程序测试了这个库。
temperatureHardware = (TempNative) Native.loadLibrary("libTemp.so", TempNative.class);
这就是我将 *.so
库与 TempNative object
连接的方式。当我在 Android 上尝试这个时,我得到如下结果。
W/linker: /data/app/com.example.kube.tempsystemservice-YUkS9udICA7GsJhTA8fG4A==/lib/arm/libjnidispatch.so: is missing DT_SONAME will use basename as a replacement: "libjnidispatch.so"
Caused by: java.lang.UnsatisfiedLinkError: Unable to load library 'libTemp.so': Native library (android-arm/liblibTemp.so.so) not found in resource path (.)
这是因为服务找不到 lib 文件吗?
我添加的lib文件如下...
尝试使用不带扩展名的库名称。
temperatureHardware = (TempNative) Native.loadLibrary("libTemp", TempNative.class);
我正在研究 Android Service
,它与硬件和应用程序进行通信。我正在使用本机库访问硬件 (libTemp.so)。我使用 JNA 在 windows
& ubuntu
上使用 java 程序测试了这个库。
temperatureHardware = (TempNative) Native.loadLibrary("libTemp.so", TempNative.class);
这就是我将 *.so
库与 TempNative object
连接的方式。当我在 Android 上尝试这个时,我得到如下结果。
W/linker: /data/app/com.example.kube.tempsystemservice-YUkS9udICA7GsJhTA8fG4A==/lib/arm/libjnidispatch.so: is missing DT_SONAME will use basename as a replacement: "libjnidispatch.so"
Caused by: java.lang.UnsatisfiedLinkError: Unable to load library 'libTemp.so': Native library (android-arm/liblibTemp.so.so) not found in resource path (.)
这是因为服务找不到 lib 文件吗?
我添加的lib文件如下...
尝试使用不带扩展名的库名称。
temperatureHardware = (TempNative) Native.loadLibrary("libTemp", TempNative.class);