现在基本都在用第三方的控件,但是不知道为什么,其他手机都好好的,但是软件在
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位的。好像之前遇到过。
然后回到项目中看下
确实是os文件缺失。都是粗心惹得祸。哈哈
解决方法如下,希望能够帮助到遇到问题的你或者即将遇到问题的你:
参考的链接:
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