集成Bugly

先去bugly官网,整一个新应用
https://bugly.qq.com/v2/workbench/apps

然后会生成一个ID,类似这样的

2ca4891a72

在build.gradle里添加上依赖。版本号自己整最新的

dependencies {
    ..
    implementation 'com.tencent.bugly:crashreport:3.1.0'// bugly
    ..
}

在BaseApplication里,写上一行代码。记得把ID替换成自己的

@Override
public void onCreate() {
    ..
    CrashReport.initCrashReport(getApplicationContext(), "2ca4891a72", false);
    ..
}

写一个闪退bug
去bugly上看有没有成功捕获

另外,如果你有用户ID,可以设置进去,在后台就能精准定位到是哪个用户闪退了

String userId = SP.getInstance().getUserId();
CrashReport.setUserId(userId);

分包

有模块方法数超过65536会出现无法编译的情况:

Cannot fit requested classes in a single dex file (# fields: 65599 > 65536)

分包即可解决。

在BaseApplication所在的模块下,build.grade里,引入包:

dependencies {
..
implementation 'com.android.support:multidex'
..  
}

然后在方法数超出的模块下,build.gradle里,添加上配置:

android {
    ..
    defaultConfig {
        multiDexEnabled true
    }
    ..
}

让BaseApplication继承于MultiDexApplication

public class BaseApplication extends MultiDexApplication {
    ..
}

如果没有BaseApplication,就先整一个BaseApplication再进行上面操作