老大让我把项目里的AndFix改为Tinker,遇到各种问题,网上的文章大同小异不清不楚,折腾了好几天好不容易搞出来了,来为跟我一样的菜鸟们指点迷津。
Tinker的接入主要有两种方式,一种是Tinker推荐使用的gradle接入,一种是命令行的接入。
一. gradle接入
1.project目录下gradle添加
buildscript {
dependencies {
classpath ('com.tencent.tinker:tinker-patch-gradle-plugin:1.7.11')
}
}
module目录下gradle添加
dependencies {
provided('com.tencent.tinker:tinker-android-anno:1.7.11')
compile('com.tencent.tinker:tinker-android-lib:1.7.11')
}
apply plugin: 'com.tencent.tinker.patch'
2. 改造Application,有两种方式
a. 把项目原来的Application的父类改为继承DefaultApplicationLike,再加上注解
public class MyApplication extends DefaultApplicationLike {
@DefaultLifeCycle(
application = "tinker.sample.android.app.SampleApplication", //application name to generate
flags = ShareConstants.TINKER_ENABLE_ALL) //tinkerFlags above
public class MyApplication extends DefaultApplicationLike
b. 也可以将项目原来的Application的父类改为继承TinkerApplication,然后将原来Application的所有代码移动到新建的ApplicationLike类中,再在继承了TinkerApplication的原来的Application类中加上注解
public class MyApplication extends TinkerApplication {
public SampleApplication