【问题标题】:UnsatisfiedLinkError: Native library (com/sun/jna/android-x86-64/libjnidispatch.so) not found in resource path (.)UnsatisfiedLinkError: 在资源路径 (.) 中找不到本机库 (com/sun/jna/android-x86-64/libjnidispatch.so)
【发布时间】:2017-10-28 10:53:14
【问题描述】:

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

这是截取的代码:

InetAddress destAddr = parsedPacket; 

PcapNetworkInterface nif =Pcaps.getDevByAddress(destAddr);

谢谢

【问题讨论】:

    标签: java android packet-capture pcap4j


    【解决方案1】:

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

    将以下内容添加到您的 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 命令后遇到问题。请告诉我!

    【讨论】:

      【解决方案2】:

      我猜你应该将 JNA 添加为 aar:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-09
        相关资源
        最近更新 更多