android 热更新 tinker 从零开始到使用
这几天项目完结了,闲来无事,想起来了以前研究的热更新,那个开源的只有nvwa、recoo,等,不是很好用,最近听说tinker开源一段时间了,用的人还挺多,决定研究一下!
首先进入了官方文档 https://bugly.qq.com/docs/user-guide/instruction-manual-android-hotfix/?v=20170322165254,这里开始详细看文档内容。我使用的是bugly集成的热更新,这样子可以少很多的代码,毕竟提供了热更新和升级的平台,适合我这个懒人的使用,也可以减少bug.
详细内容看文档配置,这里说明一下一些要注意的内容。
一、如果项目是已经建好的项目,则在tinker-support.gradle(tinker-support.gradle是自己新建的,不是系统自带的) 的内容使用 enableProxyApplication = true,就行,这样子避免接入出现更多问题
二、Activity配置<activity android:name="com.tencent.bugly.beta.ui.BetaActivity" android:theme="@android:style/Theme.Translucent" /> 这个千万不能少了,我忘配置了,结果造成更新不成功。
三、关于thinkid的使用,这个是非常重要的一个内容,每打一个包thinkID 是不同的
3.1 我们第一次打包thinkID为 假设为base-1.0.1,表示这个是一个基准包,这个包在bakApk目录下,如果这时发现有bug,再打补丁包,可以命名为patch-1.0.1,表示这个是base的第一个版本补丁包,依次类推,patch-1.0.2....
3.2 每一个补丁包就是根据thinkID来来基准包的,比如patch-1.0.1就是根据base-1.0.1知道他要去更新这个版本的bug.
3.3 如果我们在【bugly】->【应用升级】->【热更新】->【发布新补丁】中发布新补丁时,可能会出现以下提示“未匹配到可应用补丁包的App版本,请确认补丁包的基线版本是否配置正确”,那就是我们的基准包安装的不对,
应该使用bakApk下的对应你【baseApkDir】目录下安装包,这样子才能找到你的基准安装包。
3.4 在发布补丁后,你会发现迟迟不生效,而官网上说很快就会生效,我也以为我自己的写的有问题,后来等了2-3分钟,才生效,坑呀,我以为是重启立即生效,找了老半天,没有发两点问题,后来上个厕所回来生效了。
到此,基本上就能使用了,目前接入时出现的问题,以后再有问题再更新。总体来说还是不错的热更新方案。
android 热更新 tinker 从零开始到使用的更多相关文章
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
- Android热更新开源项目Tinker集成实践总结
前言 最近项目集成了Tinker,开始认为集成会比较简单,但是在实际操作的过程中还是遇到了一些问题,本文就会介绍在集成过程大家基本会遇到的主要问题. 考虑一:后台的选取 目前后台功能可以通过三种方式实 ...
- Android热修复——Tinker的集成
前言 做前端开发的都知道,当我们项目做完了以后,都会把应用上传到应用市场上供用户下载使用,比如上传到应用宝啊,应用汇啊,360啊,小米,华为,魅族啊,等等但是,有时候我们会经常遇到一些很扯淡的事情,刚 ...
- Android 热修复 Tinker接入及源码浅析
一.概述 放了一个大长假,happy,先祝大家2017年笑口常开. 假期中一行代码没写,但是想着马上要上班了,赶紧写篇博客回顾下技能,于是便有了本文. 热修复这项技术,基本上已经成为项目比较重要的模块 ...
- android 热更新nuwa
简介 Nuwa是比较流行的一种Android热补丁方案的开源实现,它的特点是成功率高,实现简单.当然,热补丁的方案目前已经有很多了,AndFix, Dexposed, Tinker等,之所以要分析Nu ...
- Android 热修复 Tinker接入及源代码浅析
本文已在我的公众号hongyangAndroid首发.转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/54882693本文出自张鸿 ...
- Android 热更新是如何实现的?
Android开发中,我们常常遇到热更新这个概念,而这个热更新具体是怎么实现的呢?今天在网上看到一个大神分享的热更新相关实现原理和实现代码,感觉灰常不错,分享给广大码农盆友look look . Cl ...
随机推荐
- linux gdb基本概念
GDB是一个功能强大的调试器,它是一个自由软件,能够用在许多UNIX平台上.它同时也是Linux系统中的默认调试器.GDB已被移植到许多其他的计算机平台上,并且能够用于调试嵌入式实时系统.一般来说,G ...
- redis安装-单机版
环境准备 因为redis使用c语言开发的,如果要运行在linux上,需要gcc-c++的环境.那么我们就要先看一下是否安装了gcc-c++如果没有的话,需要在虚拟机上安装gcc-c++环境(友情提示, ...
- 读书笔记 effective c++ Item 8 不要让异常(exceptions)离开析构函数
1.为什么c++不喜欢析构函数抛出异常 C++并没有禁止析构函数出现异常,但是它肯定不鼓励这么做.这是有原因的,考虑下面的代码: class Widget { public: ... ~Widget( ...
- Swift 2.0 自定义cell和不同风格的cell
昨天我们写了使用系统的cell怎样创建tableView,今天我们再细分一下,就是不同风格的cell,我们怎写代码.先自己创建一个cell,继承于UItableviewcell 我们看看 cell 里 ...
- javascript学习-目录
Javascript学习 第1章 Javascript简介 1.1 Javascript简史 1.2 Javascript实现 1.3 Javascript版本 第2章 Javascript入门 2. ...
- handlebars使用总结
对自己使用handlebars做一个小总结,以后忘记了,好有地方看一下,不会用的小伙伴也可以借鉴一下,写的不好. 使用 Handlebars的安装是比较简单和方便的;handlebars是一个纯JS库 ...
- JS批量替换内容中关键词为超链接,避开已存在的链接和alt、title中的关键词
懂点seo的人都知道要给内容中关键词加上链接,形成站内锚文本链接,这对seo有很大的帮助. 思路就是在数据库中录入若干个关键词和关键词对应的链接,当然链接可以根据关键词的id自动生成,或者直接用关键词 ...
- 改变radio默认样式
改变radio默认样式,代码如下: <!doctype html> <html> <head> <meta charset="UTF-8" ...
- webpack入门与解析(一)
每次学新东西总感觉自己是不是变笨了,看了几个博客,试着试着就跑不下去,无奈只有去看官方文档. webpack是基于node的.先安装最新的node. 1.初始化 安装node后,新建一个目录,比如ht ...
- CHM文件无法打开的解决方法
转载请注明来自:http://www.yaosansi.com原文地址:http://www.yaosansi.com/post/cannot_open_chm_file.html 目录:一.正确操作 ...