Android热修复框架 Tinker 接入

1. 编译demo

Tinker GitHub: https://github.com/Tencent/tinker
Q1. clone之后,仅仅将tinker-sample-android 工程导入Android Studio,如果将整个工程导入的话,否则死活编译不过

Q2. 编译命令 ./gradlew tinkerPatchDebug 报错:

A problem occurred evaluating project ':app'.
> java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0

是由Java版本不兼容导致的问题,解决办法工程的gradle降级:

classpath 'com.android.tools.build:gradle:2.2.0'
更改成
classpath 'com.android.tools.build:gradle:2.1.0'

Q3. gradle方法hasProperty(“TINKER_ID”)是指命令行运行时是否有加入相关参数;

Q4. 先运行一个base.apk 在手机上,再修改一些东西,通过studio的terminal命令行gradlew tinkerPatchDebug生成patch包,生成目录为: build/outputs/tinkerPatch

Q5. Application修改
将我们自己Application类以及它的继承类的所有代码拷贝到自己的ApplicationLike继承类中,例如SampleApplicationLike。你也可以直接将自己的Application改为继承ApplicationLike;
Application的attachBaseContext方法实现要单独移动到onBaseContextAttached中;
对ApplicationLike中,引用application的地方改成getApplication();
对其他引用Application或者它的静态对象与方法的地方,改成引用ApplicationLike的静态对象与方法;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值