android 资源热修复,Android热修复解决方案库 – tinker

Tinker

Tinker是一个Android热修复解决方案库,它支持无安装apk的DEX,库和资源更新。

nMFnMn.png

入门

将 tinker-gradle-plugin 作为一个依赖添加到项目的根目录的主要build.gradle中。

buildscript {

dependencies {

classpath ('com.tencent.tinker:tinker-patch-gradle-plugin:1.7.5')

}

}

然后你需要应用这个插件并通过在app/build.gradle中添加下列内容来应用插件:

dependencies {

//optional, help to generate the final application

provided('com.tencent.tinker:tinker-android-anno:1.7.5')

//tinker's main Android lib

compile('com.tencent.tinker:tinker-android-lib:1.7.5')

}

...

...

apply plugin: 'com.tencent.tinker.patch'

如果你的app中有一个 android.app.Application的子类,那么你需要修改这个类,并将它的所有实现方案移动到SampleApplicationLike中:

-public class YourApplication extends Application {

+public class SampleApplicationLike extends DefaultApplicationLike {

现在你需要改变你的 Application类,将它作为TinkerApplication的子类。 正如你从这个API中所看到的,它是一个没有默认构造函数的抽象类,所以你必须定义一个无参数的构造函数:

public class SampleApplication extends TinkerApplication {

public SampleApplication() {

super(

//tinkerFlags, which types is supported

//dex only, library only, all support

ShareConstants.TINKER_ENABLE_ALL,

// This is passed as a string so the shell application does not

// have a binary dependency on your ApplicationLifeCycle class.

"tinker.sample.android.app.SampleApplicationLike");

}

}

推荐使用tinker-android-annoto 来生成Applicationis ,你只需要为你的SampleApplicationLike类添加注释即可:

@DefaultLifeCycle(

application = "tinker.sample.android.app.SampleApplication", //application name to generate

flags = ShareConstants.TINKER_ENABLE_ALL) //tinkerFlags above

public class SampleApplicationLike extends DefaultApplicationLik

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值