热修复---之bugly热修复的使用(二)

上篇介绍了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中的代码主要看

Paste_Image.png

tinkerId最好是一个唯一标识,例如git版本号、versionName等等。

4、修改好后开始编译

Paste_Image.png

这个我找了半天没找到,如果在右上角没有可以选择左下角的地方点开

Paste_Image.png

点击assembleRelease,然后会自动编译,这里可能会出很多问题,这个还是要百度或者问下客服。

编译完成后查看build下多出一个bakApk文件夹

Paste_Image.png

然后得到基线包,把基线包放入到手机中运行。然后点击按钮应该是会奔溃的。查看日志会出现联网操作的日志,也就是打印出了tinkerId的值等

Paste_Image.png

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中,选择

Paste_Image.png

4.4接下来还是看build文件夹下的outputs

Paste_Image.png

这里过程应该也会很多错,我就是因为签名的卡主了很久。

5、进入到bugly后台,然后选择热更新,发布

Paste_Image.png

发布选择有你们自己,选择全量好像不那么容易失败。反正我之前选其他的就失败了,上传以后到手机的App将App强制关闭,然后在开启,有些时候可能没那么快生效,需要稍等下,大概1-2分钟左右就生效了,然后在回到bugly的后台,进行刷新,补丁的状态会改变,而且下发了多少个设备也是有改变的,上传就看文档吧,这应该都懂,这不多说了。成功之后会打印日志:

 


转载自:https://www.jianshu.com/p/444ae7385e5b
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值