我浪费了整整一个下午的时间解决的问题,竟然是因为我的粗心。。

本文记录了一次集成ShareSDK时遇到的闪退问题排查过程。作者通过逐步排除初始配置、jar包冲突等问题,最终定位到未正确启用multidex导致的方法数限制问题,并给出了具体的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在集成sharesdk的分享功能的时候,一切都准备就绪,在运行准备一次过的时候。遇到一个问题。也不报错,就闪退了。看log,什么也看不到。见了鬼的我,开始了我的找bug之旅,刚开始我以为我初始MobSdk没有成功,通过打印log,排除此问题,然后我猜测是jar包冲突。经过仔细检查,排除。实在找不到以后,我决定把代码还原,去掉分享的功能,跑一把。然后没有报错。然后我就猜测肯定是ShareSdk和我的项目中的某个类是不是冲突了??经过仔细的对照,发现不是。但是这一次再把代码合到一起跑起来以后。可以看到一个错:
如下:
这里写图片描述
这个是证书的东西。这个类我是有的啊,为什么会说找不到。我也是很无奈。。在网上找了很多解决方法,都不行。有的说是因为我集成了环信,然后环信里面的东西和ShareSdk里面的冲突了。有个人遇到的错误和我一样。。他说她把easeUi里面的MiPush_SDK_Client_2_2_19这个jar包去掉就好了。。我也去掉测试了下。还是报错。这次报错的是另一个类。这就很奇怪了。。但是我还是没意识到问题在哪儿。于是,我把log一句一句的看。我发现了个问题就是每次崩溃的原因都是找不到某个类,可是这个类明明就存在。这是为什么呢?脑子一闪。会不会是没有编译。。那为什么没有编译呢。会不会是编译不到那么多。就超过Android的方法限制65535了呢??可是我明明就处理了这种情况:

compile 'com.android.support:multidex:1.0.1'

并且在Android 的defaultConfig{ // 设置支持multidex
multiDexEnabled true}不应该出现这种情况啊。。。然后我仔细看了下multidex这个东西。。发现还有句代码我竟然没有写。就是在application里面需要写上

public void onCreate() {
super.onCreate();
MultiDex.install(this);
}
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}

写上以后,重新跑起来,,啊。。想疯了。。真的是这个问题!!!!!!!!!!!。。。不开心。。。不。。是很生气。。。浪费了整整一下午。。都是因为我自己的粗心。现在也能解释清楚,为什么每次报找不到类都不一样了。。。。。好生气。。。。。浪费我整整一下午。。。。五个小时、哎。。希望我可以记住这个教训。。以此为戒。。。还是不开心。。。

每日一语录:
不开心。。。
单曲循环《你这样恨我》。。我也很恨我自己的粗心。。。。。不开心。。。不开心。。。不开心。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值