luojilab / DDComponentForAndroid

一套完整有效的android组件化方案,支持组件的组件完全隔离、单独调试、集成调试、组件交互、UI跳转、动态加载卸载等功能
MIT License
3.34k stars 570 forks source link

同时集成Bubly的Tinker1.9.6热修复时,打补丁包失败 #114

Open Samge0 opened 6 years ago

Samge0 commented 6 years ago

我原有项目也集成了tinker热修复功能。所以在使用该组件化方案前,测试了一下对tinker的支持。

直接使用DDComponentForAndroid提供的Demo集成buglySdk支持的tinker1.9.6,编译跟运行都没有问题,但是发现在打补丁包的时候出错了。

异常类型:其他兼容性异常

手机型号:努比亚Z11 miniS (其他手机也一样)

手机系统版本:Android6.0

bugly的tinker支持的SDK版本:com.tencent.bugly:tinker-support:1.1.2

实际使用的tinker版本:1.9.6

gradle工具版本:3.0.1

是否使用热更新SDK: Bugly SDK

系统:ubuntu18.04

堆栈/日志:
Information:Gradle tasks [buildTinkerPatchDebug]
Error:Failed to complete Gradle execution.

Cause:
Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)

Warning:ignoreWarning is false, but we found some loader class has been changed in new primary dex. Such these changes will not take effect!! related classes: {Lcom/luojilab/componentdemo/application/BaseTinkerApplication;}

Error:com.tencent.tinker.build.util.TinkerPatchException: some loader class has been changed in new primary dex. Such these changes will not take effect!! related classes: {Lcom/luojilab/componentdemo/application/BaseTinkerApplication;}

Information:2 errors
Information:1 warning
Information:See complete output in console

image

YummyLau commented 6 years ago

看样子是宿主application被修改了,应该是application被插入了依赖组件初始化的代码。

xiaojinzi123 commented 5 years ago

我原有项目也集成了tinker热修复功能。所以在使用该组件化方案前,测试了一下对tinker的支持。

直接使用DDComponentForAndroid提供的Demo集成buglySdk支持的tinker1.9.6,编译跟运行都没有问题,但是发现在打补丁包的时候出错了。

异常类型:其他兼容性异常

手机型号:努比亚Z11 miniS (其他手机也一样)

手机系统版本:Android6.0

bugly的tinker支持的SDK版本:com.tencent.bugly:tinker-support:1.1.2

实际使用的tinker版本:1.9.6

gradle工具版本:3.0.1

是否使用热更新SDK: Bugly SDK

系统:ubuntu18.04

堆栈/日志:
Information:Gradle tasks [buildTinkerPatchDebug]
Error:Failed to complete Gradle execution.

Cause:
Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)

Warning:ignoreWarning is false, but we found some loader class has been changed in new primary dex. Such these changes will not take effect!! related classes: {Lcom/luojilab/componentdemo/application/BaseTinkerApplication;}

Error:com.tencent.tinker.build.util.TinkerPatchException: some loader class has been changed in new primary dex. Such these changes will not take effect!! related classes: {Lcom/luojilab/componentdemo/application/BaseTinkerApplication;}

Information:2 errors
Information:1 warning
Information:See complete output in console

image

可能就是因为使用了 gradle 插件,所以我十分不愿意去更改一些系统的行为,独立运行个人建议单独建立一个 module 去包含 lib 去运行,不仅清楚,而且是系统的方式,缺点就是module 可能很多,但是你注意命名其实看起来挺好的,另外这个库很久不维护了,一些问题不能及时修复,可能的话建议尝试 Component