华为 AGC 推出的解体服务,零代码集成,只须要增加 SDK 即可。有时可能集成了 SDK,在 AGC 页面获取不到解体报告,总结了一下能够排查以下几点:
1、首先确认下端侧有没有上报
执行“adb shell setprop log.tag.AGC_LOG VERBOSE”开启 Crash SDK 的调试模式,在利用解体时看是否有打印“upload success”,有打印阐明端侧曾经上报,否则须要查看集成状况。
如果端侧没有上报的话能够间接调用 testit 接口制作一个解体,同时增加如下代码打印 crashhandler:
Button btn_crash = findViewById(R.id.btn_crash);
btn_crash.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {final String clzName = getTheDefaultCrashHandler();
if(isAGCCrashHandler(clzName)){AGConnectCrash.getInstance().testIt();} else{
Toast.makeText(MainActivity.this,
"the default crash handler is" + clzName,
Toast.LENGTH_SHORT).show();}
}
});
private boolean isAGCCrashHandler(String clz){if(clz.startsWith("com.huawei.agconnect.crash")) {return true;}
return false;
}
private String getTheDefaultCrashHandler(){Thread.UncaughtExceptionHandler defCrashHandler = Thread.getDefaultUncaughtExceptionHandler();
return defCrashHandler.getClass().getName();
}
确保 default crash handler 是 AGC,有可能有开发者集成了其余第三方的 crash 服务,导致 AGC 的 crash 还没有初始化胜利,利用就解体了。此时能够尝试勾销其余第三方的解体服务,只集成 AGC 的解体服务。如果能够那就须要查看下各个解体服务的集成是否有抵触。
2、端侧有上报,AGC 页面仍旧没有展现
2.1 确保手机的网络是好的
2.2 我的项目增加的 json 是在开明华为剖析后的。Json 外面蕴含这些信息:
2.3 利用解体后再次关上不产生解体,Java 的 crash 在解体时就会上报解体信息,NDK 的解体以后还是须要再次关上利用才上报。
2.3 查看华为剖析“实时概览”,是否有数据上报
2.4 AGC 页面别离点击“按用户搜寻”和“统计”页签,看是否均没有报告,有时 HA 会在“按用户搜寻”展现解体信息,然而“统计”页签没有。这种状况可能是实时数据采集有积压导致,须要分割华为工程师解决。
想要理解更多解体服务的开发指南,请参考:
https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-crash-test-0000001055420516
原文链接:https://developer.huawei.com/consumer/cn/forum/topic/0201460194044770899?fid=0101271690375130218
原作者:Mayism