1.创建项目与集成所需类库
![](https://img.haomeiwen.com/i2381548/9c55357ac79fd829.png)
在工程的gradle中:classpath ('com.tencent.tinker:tinker-patch-gradle-plugin:1.7.7')
![](https://img.haomeiwen.com/i2381548/7a5e34865f982aff.png)
![](https://img.haomeiwen.com/i2381548/32b4db0454087660.png)
在项目的gradle中:
compile('com.tencent.tinker:tinker-android-lib:1.7.7') { changing =true}
provided('com.tencent.tinker:tinker-android-anno:1.7.7') { changing =true}
compile'com.android.support:multidex:1.0.1'
2.写一个application的代理类
![](https://img.haomeiwen.com/i2381548/23936c10ebd9736c.png)
@SuppressWarnings("unused")
@DefaultLifeCycle(application ="com.meng.app.AppApplication",
flags = ShareConstants.TINKER_ENABLE_ALL,
loadVerifyFlag =false)
public classApplicationLikeextendsDefaultApplicationLike {
publicApplicationLike(Application application,inttinkerFlags,booleantinkerLoadVerifyFlag,longapplicationStartElapsedTime,longapplicationStartMillisTime, Intent tinkerResultIntent) {
super(application, tinkerFlags, tinkerLoadVerifyFlag, applicationStartElapsedTime, applicationStartMillisTime, tinkerResultIntent);
}
/**
* install multiDex before install tinker
* so we don't need to put the tinker lib classes in the main dex
*
*@parambase
*/
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
@Override
public voidonBaseContextAttached(Context base) {
super.onBaseContextAttached(base);
//you must install multiDex whatever tinker is installed!
MultiDex.install(base);
//installTinker after load multiDex
//or you can put com.tencent.tinker.** to main dex
TinkerInstaller.install(this);
}
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public voidregisterActivityLifecycleCallbacks(Application.ActivityLifecycleCallbacks callback) {
getApplication().registerActivityLifecycleCallbacks(callback);
}
}
现在编译会报错,需要配置
![](https://img.haomeiwen.com/i2381548/d9f1456af53fac49.png)
3. build.gradle的配置
![](https://img.haomeiwen.com/i2381548/45a223efb718d77f.png)
![](https://img.haomeiwen.com/i2381548/b1c179b94d6ad6e6.png)
![](https://img.haomeiwen.com/i2381548/4529991b2e9ecea1.png)
![](https://img.haomeiwen.com/i2381548/0f929995036c8185.png)
3.构建app签名
![](https://img.haomeiwen.com/i2381548/a66ac4ce5561dc7a.png)
![](https://img.haomeiwen.com/i2381548/740374420623273a.png)
![](https://img.haomeiwen.com/i2381548/f8dff803111a6758.png)
![](https://img.haomeiwen.com/i2381548/41e4d55ccd348beb.png)
![](https://img.haomeiwen.com/i2381548/9885e6c76ac2c1a1.png)
4.编写测试类
![](https://img.haomeiwen.com/i2381548/3e35d34b9040a868.png)
5.运行测序到手机
6.配置补丁文件
![](https://img.haomeiwen.com/i2381548/dd20366e05fe1ea9.png)
![](https://img.haomeiwen.com/i2381548/1240e839d343683e.png)
![](https://img.haomeiwen.com/i2381548/424c90aa4df5eb26.png)
7.更改测试代码
![](https://img.haomeiwen.com/i2381548/0840006868f60bac.png)
7.生成补丁文件
![](https://img.haomeiwen.com/i2381548/f9a42e5801b90ddf.png)
8.获取补丁
![](https://img.haomeiwen.com/i2381548/c841233e2e07f972.png)
9.把补丁拷贝到内存卡根目录
10.重新打开app,可能会闪退,第二次进入,更新成功
github:https://github.com/LostDeer/Tinker
网友评论