HuolalaTech / hll-wp-therouter-android

A framework for assisting in the renovation of Android componentization(帮助 App 进行组件化改造的动态路由框架)
https://therouter.cn/
Apache License 2.0
1.11k stars 130 forks source link

app工程在不clean情况下多次build会报Type com.xxx is defined multiple times #42

Closed ql0101 closed 1 year ago

ql0101 commented 1 year ago

我在集成therouter app工程引入apply plugin: 'therouter'后,第一次构建项目能正常成功,但在不clean项目的情况下.修改模块内容后提交新的aar在次构建app项目时就会报Caused by: com.android.tools.r8.utils.b: Type com.xxxxx is defined multiple times .需要clean项目后在构建才能正常run起来.

用therouter源码复现方式: 拉取代码后再app模块引入 implementation 'com.airbnb.android:lottie:3.4.2' 构建运行. 然后将其版本号改为 implementation 'com.airbnb.android:lottie:3.7.2' 在不clean工程的情况下再次构建运行.即可得到报错信息

kymjs commented 1 year ago

建议将报错内容复制搜索引擎,查看解决解决办法

ql0101 commented 1 year ago

clean了项目 Clean Project ,然后再Rebuild Project就好了 这是搜索引擎的解决办法. 但这样势必导致每次编译速度的变慢. 当我把app项目移除apply plugin: 'therouter' 再进行修改模块版本号编译就不会出现这种问题

ql0101 commented 1 year ago

theRouterTransform 需要增加 if(!isIncremental) { outputProvider.deleteAll(); }

w296365959 commented 1 year ago

请问最后这个是怎么处理的

clean了项目 Clean Project ,然后再Rebuild Project就好了 这是搜索引擎的解决办法. 但这样势必导致每次编译速度的变慢. 当我把app项目移除apply plugin: 'therouter' 再进行修改模块版本号编译就不会出现这种问题

请问下最后是怎么处理的呢,有解决了么

ql0101 commented 1 year ago

请问最后这个是怎么处理的

clean了项目 Clean Project ,然后再Rebuild Project就好了 这是搜索引擎的解决办法. 但这样势必导致每次编译速度的变慢. 当我把app项目移除apply plugin: 'therouter' 再进行修改模块版本号编译就不会出现这种问题

请问下最后是怎么处理的呢,有解决了么

重新编译他的源码 增加 if(!isIncremental) { outputProvider.deleteAll(); }

kymjs commented 1 year ago

1.1.4-rc1 已解决
link to #74