完美解决Jpush[获取sdk版本失败!]的问题
错误日志如下:
5-31 12:47:40.088 23896-23896/? e/jiguang-jcore: [jcoreglobal] get sdk version fail![获取sdk版本失败!]
05-31 12:47:40.088 23896-23896/? w/system.err: java.lang.unsatisfiedlinkerror: native method not found: cn.jiguang.service.protocol.getsdkversion:()i
05-31 12:47:40.088 23896-23896/? w/system.err: at cn.jiguang.service.protocol.getsdkversion(native method)
05-31 12:47:40.088 23896-23896/? w/system.err: at cn.jiguang.b.a.a(unknown source)
05-31 12:47:40.088 23896-23896/? w/system.err: at cn.jiguang.b.a.a(unknown source)
05-31 12:47:40.088 23896-23896/? w/system.err: at cn.jiguang.api.jcoreinterface.init(unknown source)
05-31 12:47:40.088 23896-23896/? w/system.err: at cn.jpush.android.a.a(sourcefile)
05-31 12:47:40.088 23896-23896/? w/system.err: at cn.jpush.android.api.jpushinterface.init(sourcefile)
05-31 12:47:40.088 23896-23896/? w/system.err: at com.baidu.jiangweiqiang.jpush.pushapplication.oncreate(pushapplication.java:17)
05-31 12:47:40.088 23896-23896/? w/system.err: at com.android.tools.fd.runtime.bootstrapapplication.oncreate(bootstrapapplication.java:370)
05-31 12:47:40.088 23896-23896/? w/system.err: at android.app.instrumentation.callapplicationoncreate(instrumentation.java:999)
05-31 12:47:40.088 23896-23896/? w/system.err: at android.app.activitythread.handlebindapplication(activitythread.java:4151)
05-31 12:47:40.088 23896-23896/? w/system.err: at android.app.activitythread.access$1300(activitythread.java:130)
05-31 12:47:40.088 23896-23896/? w/system.err: at android.app.activitythread$h.handlemessage(activitythread.java:1255)
05-31 12:47:40.088 23896-23896/? w/system.err: at android.os.handler.dispatchmessage(handler.java:99)
05-31 12:47:40.088 23896-23896/? w/system.err: at android.os.looper.loop(looper.java:137)
05-31 12:47:40.088 23896-23896/? w/system.err: at android.app.activitythread.main(activitythread.java:4745)
05-31 12:47:40.088 23896-23896/? w/system.err: at java.lang.reflect.method.invokenative(native method)
05-31 12:47:40.088 23896-23896/? w/system.err: at java.lang.reflect.method.invoke(method.java:511)
05-31 12:47:40.088 23896-23896/? w/system.err: at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:786)
05-31 12:47:40.088 23896-23896/? w/system.err: at com.android.internal.os.zygoteinit.main(zygoteinit.java:553)
05-31 12:47:40.088 23896-23896/? w/system.err: at dalvik.system.nativestart.main(native method)
错误分析:
此错误是由于没有正确的加载libjpush.so文件,请检查libjpush.so是否在正确的位置(libs–>armeabi–>libjpush.so)
解决方案:
jpush sdk 迁移到 android studio 需要添加.so文件打包到apk的lib文件夹中,可以编辑 build.gradle 脚本,自定义 *.so 目录。
demo 的参考:
android { // .. android settings .. sourcesets.main { jnilibs.srcdirs = ['libs'] // <-- set your folder here! } }
以上这篇完美解决jpush[获取sdk版本失败!]的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
推荐阅读