当前位置:网站首页>Tinker's self-introduction
Tinker's self-introduction
2022-08-11 06:34:00 【The rest of my life love static】
What is Tinker
Tinker is WeChat's official Android hot patch solution. It supports dynamic distribution of code, So libraries and resources, allowing applications to be updated without reinstallation.Of course, you can also use Tinker to update your plugins.
It mainly includes the following parts:
1. Gradle compilation plugin: tinker-patch-gradle-plugin
2. Core sdk library: tinker-android-lib
3. Command line version for non-gradle compilation users: tinker-patch-cli.jar
Why Tinker
There are many hot patch solutions currently on the market, among which the more famous ones are Ali's AndFix, Meituan's Robust and QZone's super patch solutions, here is an official comparison table: 
Overall:
1. As a native solution, AndFix firstly faces stability and compatibility issues, and more importantly, it cannot achieve class replacement, which requires a lot of additional development costs;
2. Robust compatibilityIt has a high success rate, but like AndFix, it cannot add variables and classes and can only be used as a bugFix solution;
3. The Qzone solution can release product functions, but its main problem is that instrumentation brings Dalvikperformance problems, and the rapid increase in the patch package to solve the memory address problem under Art.
Especially after Android N, due to the modification of the inline strategy of mixed compilation, it is not easy to solve various solutions on the market.The Tinker hot patch solution not only supports the replacement of classes, Sos and resources, but also supports the whole platform of 2.X-8.X (1.9.0 and above support 8.X).Using Tinker we can not only use it as a bugfix, but also as a replacement for feature releases.Tinker is already running on hundreds of millions of Android devices on WeChat, so why don't you use Tinker?
Known issues with Tinker
Due to principle and system limitations, Tinker has the following known issues:
1. Tinker does not support modifying AndroidManifest.xml, and Tinker does not support adding four major components (1.9.0 supports adding non-export activities);
2. Due to the limitations of Google Play's developer terms, it is not recommendedUpdate the code dynamically in the GP channel;
3. On Android N, the patch has a slight impact on the application startup time;
4. Some Samsung android-21 models are not supported, and it will actively throw" when the patch is loaded.TinkerRuntimeException:checkDexInstall failed";
5. For resource replacement, it is not supported to modify remoteView.For example transition animations, notification icons and desktop icons.
Retrieved from https://github.com/Tencent/tinker/wiki
边栏推荐
猜你喜欢
随机推荐
Day 68
SearchGuard证书配置
aPaaS和iPaaS的区别
vscode插件开发——代码提示、代码补全、代码分析(续)
STM32学习总结(二)——GPIO
关于接口响应内容的解码
JS advanced web page special effects (pink teacher notes)
Vscode remote connection server terminal zsh+Oh-my-zsh + Powerlevel10 + Autosuggestions + Autojump + Syntax-highlighting
scanf函数在混合接受数据(%d和%c相连接)时候的方式
电商机会:私域
vscode插件开发——懒人专用markdown插件开发
Day 71
IIC 和 SPI
STM32学习笔记(白话文理解版)—外部IO中断实验
[Meetup] OpenMLDBxDolphinScheduler engineering and scheduling link link characteristics, building the end-to-end MLOps workflow
USB 枚举过程中8 字节标准请求解析
Event Preview | On April 23, a number of wonderful sharing sessions of OpenMLDB will come, which will live up to the good time of the weekend
深度学习Matlab工具箱代码注释
产品版本号是如何确定的
红外线应用-红外遥控








