上篇介绍了bugly热修复的接入,接下来我们来说下如何使用的,接入不难,但是使用你觉得会懵逼,反正我开始的时候找了老半天没找到所谓的gradle界面。当时是百脸懵逼啊。既然是修复,那么咱们就先搞一个错误出来,最伟大的错误空指针最好了。
1、创建一个类。
内容如下:
public class BugClass{
public String bug(){
String str = null;
Log.e("123", "getstrdsfs"+str.length());
return "wocao";
}
}
接下来我们在MainActivity.java中调用。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bnt = (Button) findViewById(R.id.btn);
bnt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
BugClass classs = new BugClass();
String bug = classs.bug();
Toast.makeText(MainActivity.this, bug, Toast.LENGTH_SHORT).show();
}
});
}
查看tinker-supprot.gradle中的代码主要看
tinkerId最好是一个唯一标识,例如git版本号、versionName等等。
4、修改好后开始编译
这个我找了半天没找到,如果在右上角没有可以选择左下角的地方点开
点击assembleRelease,然后会自动编译,这里可能会出很多问题,这个还是要百度或者问下客服。
编译完成后查看build下多出一个bakApk文件夹
然后得到基线包,把基线包放入到手机中运行。然后点击按钮应该是会奔溃的。查看日志会出现联网操作的日志,也就是打印出了tinkerId的值等
4、生成补丁包。
4.1、首先我们先去修改我们的错误,这才是修复嘛,
public class BugClass{
public String bug(){
// String str = null;
// Log.e("123", "getstrdsfs"+str.length());
return "wocao";
}
}
注释掉控制针的代码
4.2、修改tinker-support.gradle
def baseApkDir = "tinkerfix-0216-18-42-47"
可以查看build下的bakApk下的生成了基线包的那个文件夹名字。
4.3还是在gradle中,选择
4.4接下来还是看build文件夹下的outputs
这里过程应该也会很多错,我就是因为签名的卡主了很久。
5、进入到bugly后台,然后选择热更新,发布
发布选择有你们自己,选择全量好像不那么容易失败。反正我之前选其他的就失败了,上传以后到手机的App将App强制关闭,然后在开启,有些时候可能没那么快生效,需要稍等下,大概1-2分钟左右就生效了,然后在回到bugly的后台,进行刷新,补丁的状态会改变,而且下发了多少个设备也是有改变的,上传就看文档吧,这应该都懂,这不多说了。成功之后会打印日志:
bugly就说到这里了,小白猜坑,不对的还望大神指点一二,不管好坏,来者是客,欢迎各位留言。