相关疑难解决方法(0)

在Android Studio中设置JNA

我尝试将jna.jar导入到我的项目中,因为JNA是一个非常有用的工具,可以调用基于JNI的Native库.

操作系统:Windows 10

IDE:Android Studio 1.5.1

JDK:1.8.0_73

NDK:r10e

我做了什么 (AS = Android Studio)

  1. 使用API​​18通过AS创建一个新项目.

  2. 从他们的GitHub下载jna.jar.

    https://github.com/java-native-access/jna

  3. 将jna.jar复制到项目文件夹中.

    JNATest \程序\库\ jna.jar

  4. 在AS中,右键单击jna.jar的图标,选择Add as Library
  5. 等待几秒钟,检查文件 - >项目结构 - >应用程序 - >依赖项.我们有jna.jar.(与app\build.gradle相同) 构建gradle
  6. 在MainActivity.java中实现关于JNA的JAVA代码
  7. 在真实设备上运行应用程序索尼Z3(手臂)
  8. 崩溃 CLibrary.Instance.printf("Hello, JNA");

Android监视器上的错误消息

E/AndroidRuntime: FATAL EXCEPTION: main
                   Process: i3d.jnatest, PID: 1068
                   java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/android-arm/libjnidispatch.so) not found in resource path (.)
                     at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:866)
                     at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:826)
                     at com.sun.jna.Native.<clinit>(Native.java:140)
..
... so on
Run Code Online (Sandbox Code Playgroud)

Java代码

package i3d.jnatest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.sun.jna.Library;
import com.sun.jna.Native;

    public …
Run Code Online (Sandbox Code Playgroud)

android jar jna android-ndk

7
推荐指数
3
解决办法
4786
查看次数

android-arm/libjnidispatch.so 未找到错误

在我的应用程序中,我添加了第三方硬件连接并使用他们提供的 java 代码。还jna.jar用于与该代码交互,因为它使用本机库加载一些.so文件。它抛出错误:

 java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/android-arm/libjnidispatch.so) not found in resource path (.) Please help where can I get the jar with android-arm/libjnidispatch.so in it.`
Run Code Online (Sandbox Code Playgroud)

我尝试添加 android-arm.jar ,它单独具有 libjnidispatch.so 但编译器正在寻找 jna.jar 的路径。谢谢!

java java-native-interface android jna android-ndk

5
推荐指数
1
解决办法
4135
查看次数

标签 统计

android ×2

android-ndk ×2

jna ×2

jar ×1

java ×1

java-native-interface ×1