当前位置:网站首页>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
边栏推荐
- 贡献者任务第三期精彩来袭
- Regular expression replacement for batch quick modification code
- Certificate of SearchGuard configuration
- Day 67
- Wonderful linkage | OpenMLDB Pulsar Connector principle and practical operation
- JS案例练习(pink老师经典案例)
- 使用adb命令管理应用
- 构建面向特征工程的数据生态 ——拥抱开源生态,OpenMLDB全面打通MLOps生态工具链
- js 学习进阶(Dom部分 pink老师教学笔记)
- 使用ActiveReports制作第一张报表
猜你喜欢
随机推荐
Visual studio2019 configuration uses pthread
蓝牙技术-简介
C语言实现猜数字(附带源码,可直接运行)
STM32-中断优先级管理NVIC
net6 的Web MVC项目中事务功能的应用
如何快速转行做产品经理
STM32学习总结(一)——时钟RCC
Tinker的自我介绍
scanf函数在混合接受数据(%d和%c相连接)时候的方式
The Summer of Open Source 2022 is coming | Welcome to sign up for the OpenMLDB community project~
C语言实现简易扫雷(附带源码)
Promise 中状态改变和回调执行先后顺序 和promise多次回调
电商机会:私域
Asp doNet Mvc4绑定js脚本用法
实时特征计算平台架构方法论和基于 OpenMLDB 的实践
USB URB
2021-09-11 C语言 变量与内存分配
Jetpack之dataBinding
Invalid revision: 3.18.1-g262b901-dirty
C语言的编译









