友盟分享bug整理
来源:互联网 发布:linux mint 18.2 编辑:程序博客网 时间:2024/04/30 10:29
最近做项目用到了第三方登录和分享,于是就集成了友盟,具体功能是QQ、微信、新浪微博的登录和分享,测试阶段并没有出现很多的问题,和是混淆打包以后,问题就出来了,搞了两个小时,终于搞定了这些bug。
1:java.lang.RuntimeException Stub!
2:java.lang.ClassCastException com...MainApplication cannot be cast to android.app.Activity
起初有点奇怪为什么会出现ClassCastException,似乎并没有哪个地方用到了MainApplication,后来去研究友盟sdk,发现 UMShareAPI是单例模式,初始化方法是public static UMShareAPI get(Context context);这个方法参数类型是Context, 所以传入的参数可以是Activity, 也可以是Applicaion的Context。
但在SDK内部使用的时候,有的地方做了Context到Activity的强转,如果UMShareAPI初始化方法里传的参数是Applicaion的Context, 就会出问题。这尼玛,传入的一定要是activity你为什么参数是context,就算传入的是activity,这尼玛是严重的内存泄漏啊。。。先不管了,搞定bug再说,初始化的时候传入activity,果真就没问题了;
另一个bug就显得毫无头绪了,只有从混淆入手了,一路追踪,居然发现在引入的环信module中有一个org.apache.http.legacy.jar包,找的好辛苦啊,一想是不是这个包混淆的原因,于是在proguard-rules.pro中加入配置:
-dontwarn android.net.compatibility.**-dontwarn android.net.http.**-dontwarn com.android.internal.http.multipart.**-dontwarn org.apache.commons.**-dontwarn org.apache.http.**-keep class android.net.compatibility.**{*;}-keep class android.net.http.**{*;}-keep class com.android.internal.http.multipart.**{*;}-keep class org.apache.commons.**{*;}-keep class org.apache.http.**{*;}
然后重新打包,果然就没有问题了。
- 友盟分享bug整理
- 友盟分享 回调监听没调用bug.
- bug整理
- bug 整理
- bug 整理
- BUG整理
- 【BUG】 bug 12711827 待整理
- 友盟--分享bug
- 一周bug分享
- 整理的一些Bug
- IE bug整理
- bug 豆豆整理
- MSSERVER常见bug整理
- magento 问题bug整理
- iOS bug整理
- IE bug 小整理
- CVP bug整理
- 常见Bug整理
- SQL Join的一些总结
- iOS基础2
- josn 404 405 415
- 专业测评:iphone7致命缺陷曝光
- hdoj3664【DP】
- 友盟分享bug整理
- 【给将来学神的算法详解--高精】(4)对消与还原
- ROS Learning-022 learning_tf-06(编程) 现在与过去中穿梭 (Python版) --- waitForTransformFull() 函数
- JNI开发第二篇通过反射实现C中调用java代码,并实现Log打印日志
- Struts2中的拦截器
- 51单片机定时控制灯
- 记录一个网站
- JAVA基础6.44——单例设计模式
- 【源码剖析】threadpool —— 基于 pthread 实现的简单线程池