UnsatisfiedLinkError:在资源路径(。)中找不到本机库(com / sun / jna / android-x86-64 / libjnidispatch.so)

时间:2017-10-28 10:53:14

标签: java android packet-capture pcap4j

我正在开发用于从设备嗅探数据包的android应用程序。 我使用pcap4j库,但是当调用Pcaps.getDevByAddress()时,启动异常。 你能救我吗?

这是剪切代码:

psql

InetAddress destAddr = parsedPacket;

由于

2 个答案:

答案 0 :(得分:0)

不确定这是否仍然是您的问题。您是否已将两个依赖项添加到类路径中?

将以下内容添加到您的pom.xml:

<dependencies>
 <dependency>
  <groupId>org.pcap4j</groupId>
  <artifactId>pcap4j-core</artifactId>
  <version>1.7.3</version>
 </dependency>
 <dependency>
  <groupId>org.pcap4j</groupId>
  <artifactId>pcap4j-packetfactory-static</artifactId>
  <version>1.7.3</version>
 </dependency>
   ...
</dependencies>

还要确保已在计算机上安装了pcaplib-dev。取决于操作系统如何安装它。

您执行了这些步骤吗?

如果是这样,你有java root访问权限(假设你在Linux上)?我看到人们在使用set_cap命令后遇到问题。请让我知道!

答案 1 :(得分:0)

我想您应该将JNA添加为aar:

implementation 'net.java.dev.jna:jna:5.5.0@aar'

ref:https://github.com/java-native-access/jna/blob/master/www/FrequentlyAskedQuestions.md#jna-on-android