sensorsdata / sa-sdk-android-plugin2

神策数据官方 Android 埋点插件,用于 Android 端的数据采集。通过使用字节码插桩(ASM)的技术实现 Android 端的全埋点(无埋点、无码埋点、无痕埋点、自动埋点)。
http://opensource.sensorsdata.cn
Other
438 stars 150 forks source link

集成该插件后增量编译失效 #10

Closed guozhiqiang123 closed 3 years ago

guozhiqiang123 commented 3 years ago

集成该插件后增量编译失效了,每次都得clear,然后才能运行成功,不然就在执行这个task的时候就会失败“Task :app:mergeExtDexDebug FAILED”。有什么解决办法吗?

GvcZhang commented 3 years ago

可以尝试 ./gradlew assembleDebug --stacktrace获取详细的日志信息,将日志信息发一下,我看看是什么问题,也可以加入QQ 群号:785122381里面沟通。

guozhiqiang123 commented 3 years ago

新建文本文档.txt 第一次执行该命令编译成功,但是第二次编译就失败了。报的错误类似引用包重复,但是每次clear后又可以重复编译,说明不是真的引用包重复。如果多编译几次,每次报包重复的位置还不一样。

GvcZhang commented 3 years ago

从日志上看确实是存在重复引入的问题,com.zlketang.module_course.DataBinderMapperImpl$InnerLayoutIdLookup关于这个类,有没有确认一下项目中是否存在重复引入的情况呢,如果有,是否可以尝试解决一下呢?

下面是集中排查重复类的方式,可以参考一下:

  1. https://blog.csdn.net/Calvin_zhou/article/details/80880501
  2. https://www.cnblogs.com/zhujiabin/p/10559122.html
guozhiqiang123 commented 3 years ago

不存在的,这个类是我们自己写的业务模块。如果是真的有重复引用,应该是即使每一次clear再重新编译都会报重复引用,但我的情况是clear之后就可以成功编译了

guozhiqiang123 commented 3 years ago

这就导致我每次运行项目都得先clear,才能把项目跑起来,随着项目变大,编译时间越来越长,浪费了很多时间在编译上。

GvcZhang commented 3 years ago

能整一个 demo 吗?

guozhiqiang123 commented 3 years ago

我试试demo能不能复现吧

GvcZhang commented 3 years ago

我试试demo能不能复现吧

那最好啦。

guozhiqiang123 commented 3 years ago

demo我搞好了 我怎么给你呢

GvcZhang commented 3 years ago

加我微信哈 15056075188