完美解决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版本失败!]的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
推荐阅读
-
完美解决Jpush[获取sdk版本失败!]的问题
-
完美解决mysql客户端授权后连接失败的问题
-
ajax获取数据中文乱码问题最简单的完美解决方案
-
MySql版本问题sql_mode=only_full_group_by的完美解决方案
-
XPath匹配标签使用text()判断获取结果失败/为空的问题及解决方法
-
刨根问底,完美解决Django2版本连接MySQL报错的问题
-
解决Mac node版本升级失败的问题
-
ajax获取数据中文乱码问题最简单的完美解决方案
-
MySql版本问题sql_mode=only_full_group_by的完美解决方案
-
完美解决“无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-f”的问题