ACRC的使用
·
1.设置kotlin版本
ext.kotlin_version = '1.5.21'
2.在app module的build.gradle添加如下内容:
apply plugin: 'kotlin-kapt'
defaultConfig {
...
//add next
javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true }}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
implementation("ch.acra:acra-http:5.8.3")
kapt 'com.google.auto.service:auto-service:1.0-rc6'
api 'com.google.auto.service:auto-service:1.0-rc6'
3.在Application中添加如下
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
CoreConfigurationBuilder builder = new CoreConfigurationBuilder(this);
builder.withBuildConfigClass(BuildConfig.class)
.withReportFormat(StringFormat.JSON);
builder.getPluginConfigurationBuilder(HttpSenderConfigurationBuilder.class)
.withUri("https://yourserver.com/report")
.withEnabled(true);
ACRA.init(this, builder);
}
4.添加自定义的CrashSender
import android.content.Context;
import android.util.Log;
import com.google.auto.service.AutoService;
import org.acra.config.CoreConfiguration;
import org.acra.data.CrashReportData;
import org.acra.sender.ReportSender;
import org.acra.sender.ReportSenderException;
import org.acra.sender.ReportSenderFactory;
import org.jetbrains.annotations.NotNull;
public class CrashSender implements ReportSender {
@Override
public void send(@NotNull Context context, @NotNull CrashReportData errorContent) throws ReportSenderException {
Log.d("test", ">>>>Report Sent!");
}
@AutoService(ReportSenderFactory.class)
public static class MySenderFactory implements ReportSenderFactory {
@NotNull
@Override
public ReportSender create(@NotNull Context context, @NotNull CoreConfiguration coreConfiguration) {
return new CrashSender();
}
}
}
更多推荐
所有评论(0)