当前位置:网站首页>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
边栏推荐
猜你喜欢
随机推荐
JS advanced web page special effects (pink teacher notes)
Day 71
STM32学习笔记(白话文理解版)—搞懂PWM输出
Some formulas for system performance and concurrency
产品经理与演员有着天然的相似
OpenMLDB Meetup No.2 会议纪要
关于接口响应内容的解码
音乐竞品分析:酷狗、QQ音乐、网易云、酷我、汽水音乐
STM32 基于固件库的工程模板的建立
栈stack
产品版本号是如何确定的
gerrit 配置SSH Key和账号、邮箱信息
华为IOT设备消息上报和消息下发验证
Building a data ecology for feature engineering - Embrace the open source ecology, OpenMLDB fully opens up the MLOps ecological tool chain
STM32F4-正点原子探索者-SYSTEM文件夹下的delay.c文件内延时函数详解
Open Source Machine Learning Database OpenMLDB Contributor Program Fully Launched
scanf函数在混合接受数据(%d和%c相连接)时候的方式
STM32-串口常用寄存器和库函数及配置串口步骤
Tinker的自我介绍
OpenMLDB官网升级,神秘贡献者地图带你快速进阶








