Tinker: 线上版本的基准包丢失怎么办,需要修复线上问题

Created on 21 Aug 2018  ·  8Comments  ·  Source: Tencent/tinker

Issue/提问须知

在提交issue之前,我们应该先查询是否已经有相关的issue以及常见问题。提交issue时,我们需要写明issue的原因,以及编译或运行过程的日志(加载进程以及Patch进程)。issue需要以下面的格式:

异常类型:app运行时异常/编译异常

手机型号:如:Nexus 5(如是编译异常,则可以不填)

手机系统版本:如:Android 5.0 (如是编译异常,则可以不填)

tinker版本:如:1.7.7

gradle版本:如:2.10

是否使用热更新SDK: 如 TinkerPatch SDK 或者 Bugly SDK

系统:如:Mac

堆栈/日志:
1. 如是编译异常,请在执行gradle命令时,加上--stacktrace;
2. 日志我们需要过滤"Tinker."关键字;
3. 对于合成失败的情况,请给出:patch进程的日志,这里需要将Android Moniter右上角设为No Filter。

提问题时若使用不能用/没效果/有问题/报错此类模糊表达,但又没给出任何代码截图报错的,将绝对不会有任何反馈。这种issue也是一律直接关闭的,大家可以参阅提问的智慧

Tinker是一个开源项目,希望大家遇到问题时要学会先思考,看看sample与Tinker的源码,更鼓励大家给我们提pr.

question

All 8 comments

从版本控制中找到线上版本的commit记录,然后重新打包,这个也是可以当做基线版本的

你确定?同样代码打出来的文件 md5值是不一样的!patch打不上去。
这个问题我遇到过,最后解决的办法,前面步骤和2楼一样,最后把线上的包下载下来,放到打出包的目录里面。和基准包的区别就是,生成的补丁会大点。

嗯,我确定,我司的app就是这样搞的,(我们的线上包加固过,肯定是不能用的)

你有用andresguard混淆过资源吗?

没有哦,难道跟这个有关系么

是有关系的,andresguard混淆会有一些变量的,导致每次混淆的结果md5值都不一样。

哦哦,那估计就是这个的问题了

你确定?同样代码打出来的文件 md5值是不一样的!patch打不上去。
这个问题我遇到过,最后解决的办法,前面步骤和2楼一样,最后把线上的包下载下来,放到打出包的目录里面。和基准包的区别就是,生成的补丁会大点。

肯定是不行的!!重新打包,每个dex的crc都会发生变化!补丁包没法校验通过的!

Was this page helpful?
0 / 5 - 0 ratings