记一次Android智齿SDK导致BUG

本文介绍了一种在删除Gradle缓存目录后遇到的依赖解析错误,并提供了解决方案,包括排除特定SDK依赖和自定义替换类的方法。
Could not determine the dependencies of task ':app:preOnlineDebugBuild'.
> Could not resolve all task dependencies for configuration ':app:onlineDebugRuntimeClasspath'.
   > Could not find :unspecified:.
     Searched in the following locations:
       - file:/D:/xxxxxxx/xxxxxxx/libs/baseRes/libs/unspecified.jar
     Required by:
         project :app > project :modules:mainpage > com.sobot.chat:sobotsupport-glidev4:1.0.10 > com.sobot.chat:sobotsdk-imageloader:1.0.4

Possible solution:
 - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html

编译报错信息如上,让人实在摸不着头脑。

问题复现:

由于C盘空间告警,所以删除了gradle的缓存目录,然后再编译项目就会报上面的错误,试过很多解决办法,都不见效,网上也没有搜索到类似问题的解决办法,非常玄乎兄弟~

问题分析:

可以看到问题最终指向的是这个SDK,解决办法就从这里入手!

com.sobot.chat:sobotsdk-imageloader:1.0.4

SDK内部情况如下图,很简单,只有一个抽象类,那我们在引入智齿SDK的时候,把这个SDK排除掉,同时把这个类替换一下,不就OK了吗?NICE~

解决问题:

第一步:排除引入。

第二步:编写自己的 SobotImageLoader.java 类。实际上就是复制一份,注意保持包名类名的一致。

第三步:初始化(加载)这个类。其实这一步也可以不要,提前加载只是为了确保类在使用的时候被加载到虚拟里,保持代码健壮性。这里最好在 Application 里面操作。

总结:

通过测试,以上处理方式能解决这个奇葩BUG。这里记录一下,希望大家碰到类似问题能有个参考,同时也希望各位能有更好的解决方式,留言我们可以一起交流一下~

Guys,Peace & Love

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值