我是靠谱客的博主 灵巧大侠,最近开发中收集的这篇文章主要介绍java.lang.UnsatisfiedLinkError: No implementation found for,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

由于native方法修改了包名,导致load so执行的时候崩溃原因分析;

1)确认报错的方法有没有被混淆。

        查看混淆 文件是否有下面的配置:
                //保留native方法的类名和方法名
                -keepclasseswithmembernames class * {
                    native <methods>;
                }

2)确认so库是否有效并被加载。

  1. apk里有木有这个so库,可以解压缩apk查看lib文件夹下是否有对应的so库,
  2. 如果有这个库,查看对应的cpu架构是不是对的,

        1、adb shell
        2、cat  /proc/cpuinfo

        显示下面:
        Processor       : AArch64 Processor rev 14 (aarch64)
        表示arm64-v8a的(可以向下兼容v5v6v7)。

     3. 确认so被加载,System.loadLibrary(“xxxxx”)被调用。


3)确认so库有没有这个方法
        使用命令nm -D xxx.so,查看有没有有对应的方法。

最后

以上就是灵巧大侠为你收集整理的java.lang.UnsatisfiedLinkError: No implementation found for的全部内容,希望文章能够帮你解决java.lang.UnsatisfiedLinkError: No implementation found for所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部