Android发布版本后如果出现了一点小bug怎么办....修改后重新发布吗?今天要讲的就是实现Android的热更新,只需将差异文件放到手机里就可以实现bug的修复了,完成不用重新发布版本,老是发布版本用户会疯掉。而且差异文件只有你修改文件的大小,可能就是1k,或者更少,根据你修改的多少而定。所以这样下载会非常快,立马见效。
准备工作:
github地址:https://github.com/Tencent/tinker;
githuib下载下来第一次运行有的会报错,上面一份是我用AS运行好的,辛苦费1分。
上面是下载后的项目结构。不要被这么多文件吓着了,其实步骤很简单,跟着我做,看好了。
打开你的AS,运行tinker-sample-android这个项目,然后点Build菜单里的rebuild project
因为我的AS是2.2.3最新版本,如果你的是2.0或者更低,请自己修改AS的配置文件或升级到2.2.3,不然导入会有错误提示。这些错误不是代码错误,而是你的AS配置文件错误。
打开了是这样的:
既然运行起来了,那我们就先运行一下吧。我们直接打APK文件然后放手机里安装吧。
点击右边的菜单:gradle:
可以看到有一个APK文件:app-release-0104-09-13-01.apk 我们将它手动放到手机里,然后安装。运行起来就上张图的那个界面。现在我们就把他当成一个有问题需要补丁的APK.
看好了,我们现在来加内容,生成一个新的APK来修复app-release-0104-09-13-01.apk
1,打开build.gradle文件,修改里面的配置:
关键的来了,我们加点东西,看是否会更新:
我这里加了一个按钮:
ok,我们再来生成新的差异文件吧,最后关键的一步了。
将我们的差异文件:patch_signed_7zip.apk放到手机根目录里。
在我们的软件里点击第一个按钮:LOAD PATCH:过一会后出来一个success的吐司出来,表示成功。如果没有成功可能你放的位置错了,不是在手机根目录。
只要看到成功success的吐司后,
你见软件退出,然后重新进入,奇迹出现了:
新加的按钮显示出来了,你点击一下,可弹出我们的吐司。
大功告成。
//补充说明:不支持AndroidManifest.xml修改后的重新编译,可以改布局,改代码,加资源文件等等。
是不是非常简单非常实用呢。
//------end----
//------补充,如果项目不能运行(run):找到设置,instant run:取消enable instant run的选项即可。