tinker
tinker copied to clipboard
Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstall apk.
## Issue/提问须知 你好,在编译时报找不到远程SevenZip-1.2.20-osx-aarch_64.exe,经发现是Jcenter并没有支持的m1芯片的资源文件,麻烦官网可否支持一下支持m1芯片(MacBook Pro)的资源。 ` FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring project ':qxapp'. > Could not resolve all files for configuration ':qxapp:AndResGuardLocatorSevenZip'....
``` 异常类型:app运行时异常 手机型号:天猫魔盒S1+ 手机系统版本:如:Android 6.1 tinker版本:1.9.14.25.1 gradle版本:6.1.1 是否使用热更新SDK: 否 系统:如:Mac 堆栈/日志: FATAL EXCEPTION: main Process: com.tvbc.mddtv, PID: 2456 java.lang.RuntimeException: Unable to instantiate application com.tvbc.mddtv.MainApplication: com.tencent.tinker.loader.TinkerRuntimeException: Tinker Exception:java.lang.String cannot be stored...
异常类型:app运行时异常 手机型号:小米MIX 2s 手机系统版本:Android 10 tinker版本:1.9.14.6 gradle版本:5.4.1 是否使用热更新SDK: 否 系统:Win7 使用文档说已经支持新增Activity,启动新增Activity时出错。新增Activity在manifest中配置如下: 堆栈/日志: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.cy.ipc.tinkertest/com.cy.ipc.tinkertest.activity.TestActivity}; have you declared this activity in your AndroidManifest.xml?
## Issue/提问须知 **在提交issue之前,我们应该先查询是否已经有相关的issue以及[常见问题](https://github.com/Tencent/tinker/wiki/Tinker-%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98)。提交issue时 ``` 异常类型: 手机型号:如: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/提问须知 **在提交issue之前,我们应该先查询是否已经有相关的issue以及[常见问题](https://github.com/Tencent/tinker/wiki/Tinker-%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98)。提交issue时,我们需要写明issue的原因,以及编译或运行过程的日志(加载进程以及Patch进程)。issue需要以下面的格式:** ``` 异常类型:编译异常 手机型号:如:Nexus 5(如是编译异常,则可以不填) 手机系统版本:如:Android 5.0 (如是编译异常,则可以不填) tinker版本:1.9.14.18 gradle版本:3.5.34 是否使用热更新SDK:TinkerPatch SDK 系统:mac与linux都有问题 堆栈/日志: > Task :wepie:tinkerPatchOfficialDebug FAILED FAILURE: Build failed with an exception. * What went wrong:...
## Issue/提问须知 **在提交issue之前,我们应该先查询是否已经有相关的issue以及[常见问题](https://github.com/Tencent/tinker/wiki/Tinker-%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98)。提交issue时,我们需要写明issue的原因,以及编译或运行过程的日志(加载进程以及Patch进程)。issue需要以下面的格式:** ``` 异常类型:app运行时异常/编译异常 手机型号:如:Nexus 5(如是编译异常,则可以不填) 手机系统版本:如:Android 5.0 (如是编译异常,则可以不填) tinker版本:如:1.9.14 gradle版本:如:3.5.4 是否使用热更新SDK:TinkerPatch SDK 系统:linux 堆栈/日志: * What went wrong: Execution failed for task ':wepie:tinkerPatchOfficialDebug'. > java.lang.UnsupportedOperationException: Tinker does not...
基准包: 1:3:void lambda$initRxBus$0(com.tftechsz.common.event.UserStatusEvent):189:191 -> d2 1:1:void lambda$initRxBus$3(com.tftechsz.common.entity.NetStatusEvent):224:224 -> e 差分包: 1:3:void lambda$initRxBus$0(com.tftechsz.common.event.UserStatusEvent):189:191 -> c 1:1:void lambda$initRxBus$3(com.tftechsz.common.entity.NetStatusEvent):224:224 -> f2
## bug产生的场景 old apk有5个dex,classes.dex ... classes4.dex, new apk 有6 个dex, classes.dex ... classes5.dex。当计算classes5.dex的变更的时候,因为classes5.dex没有在old apk中存在,所以就直接把classes5.dex[写入最终的patch包中了]( https://github.com/Tencent/tinker/blob/d7c7e607bcac34fef24dcd298e6839566b5c88a1/tinker-build/tinker-patch-lib/src/main/java/com/tencent/tinker/build/decoder/DexDiffDecoder.java#L203) 相关日志如下: ``` DexDecoder:add newly dex file: DexDecoder:write meta file data: classes5.dex,,81d839f97245fb1ea48fb6e2ed387c94,81d839f97245fb1ea48fb6e2ed387c94,0,0,3963140505,raw ``` 当开启加固模式时,patch的构建需要计算出变更的类有哪些,当变更的类比较多且产生大于6个dex文件的时候,可能会[覆写之前的classes5.dex](https://github.com/Tencent/tinker/blob/d7c7e607bcac34fef24dcd298e6839566b5c88a1/tinker-build/tinker-patch-lib/src/main/java/com/tencent/tinker/build/decoder/DexDiffDecoder.java#L492),最终导致客户端在加载patch时验证dex的md5失败。 相关日志: ```...
See: https://github.com/gradle/wrapper-validation-action
小米应用市场 将在 今年7月份 认为 获取 应用安装路径(ApplicationInfo.sourceDir)是隐私违规的; 我看咱们的代码有 相关的调用, 到时候会不会影响上架小米应用市场呀?.. 