android 7.0 加载system.loadLibrary崩溃事件解决--.so文件缺失

现在基本都在用第三方的控件,但是不知道为什么,其他手机都好好的,但是软件在Android N上会崩溃,其实也就是在android7.0上会崩溃,其他手机都好的。网上查的话全都是什么android7.0更新什么什么的,没什么实质性的作用,给的一些典型解决案例也看不懂,不过最后在外国网站上找到了解决办法,其实很简单。下面我就以我自己这个例子来说怎么解决吧,想来其他的错误也差不多。

andorid studio报错日志,如下:

07-19 03:36:46.905 27384-27384/? E/AndroidRuntime: FATAL EXCEPTION: main
                                   Process: com.yuqi.cj, PID: 27384
                                   java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.seven.cj-1/base.apk"],nativeLibraryDirectories=[/data/app/com.yuqi.cj-1/lib/x86, /data/app/com.seven.cj-1/base.apk!/lib/x86, /system/lib, /vendor/lib]]] couldn't find "libgnustl_shared.so"
                                       at java.lang.Runtime.loadLibrary0(Runtime.java:984)
                                       at java.lang.System.loadLibrary(System.java:1530)
                                       at com.seven.cj.Application.onCreate(Application.java:49)
                                       at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
                                       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5403)
                                       at android.app.ActivityThread.-wrap2(ActivityThread.java)
                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545)
                                       at android.os.Handler.dispatchMessage(Handler.java:102)
                                       at android.os.Looper.loop(Looper.java:154)
                                       at android.app.ActivityThread.main(ActivityThread.java:6119)
                                       at java.lang.reflect.Method.invoke(Native Method)
                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)


然后我打开报错的代码,如下:

       System.loadLibrary("gnustl_shared");
//        System.loadLibrary("ijkffmpeg");//目前使用微博的ijkffmpeg会出现1K再换wifi不重连的情况
        System.loadLibrary("qupai-media-thirdparty");
//        System.loadLibrary("alivc-media-jni");
        System.loadLibrary("qupai-media-jni");
直接加载 system.loadLibrary就给我闪退了

然后查找了下相关的资料。但是可能会有些其他的错误,然后突然想到android7.0的机子好多都是64位的。好像之前遇到过。

然后回到项目中看下

android 7.0 加载system.loadLibrary崩溃事件解决--.so文件缺失_第1张图片

确实是os文件缺失。都是粗心惹得祸。哈哈

解决方法如下,希望能够帮助到遇到问题的你或者即将遇到问题的你:

SO文件缺失解决方法


参考的链接:

http://blog.csdn.net/version1_0/article/details/72820575

http://blog.csdn.net/cwhy7/article/details/52389224

http://blog.csdn.net/seven2729/article/details/48289101




你可能感兴趣的:(原创)