我已经集成了 Firebase Crashlytics 版本 2.9.1 来挖掘崩溃以涵盖我的应用程序的性能和稳定性。
如果应用程序有自己的 UncaughtExceptionHandler,则不会在 Firebase crashlytics 控制台上记录崩溃。
我的应用程序中有 BaseActivity。在 onCreate() 方法中,我根据项目要求注册了自定义 UncaughtExceptionHandler。
每当应用程序因任何原因崩溃时,都应将用户重定向到启动画面 ( MainActivity.java) 。
public class BaseActivity extends FragmentActivity{ 
@Override 
protected void onCreate(Bundle arg0) { 
   // Enable global crash handler. 
   Thread.setDefaultUncaughtExceptionHandler(handleAppCrash); 
} 
/*** 
* @Purpose Called when any crash occurs in the application. 
***/ 
private Thread.UncaughtExceptionHandler handleAppCrash = new Thread.UncaughtExceptionHandler() { 
@Override 
public void uncaughtException(Thread thread, Throwable ex) { 
   Intent intent = new Intent(context, MainActivity.class); //redirect to Splash screen
   intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
   context.startActivity(intent); 
   System.exit(0); 
  } …我正在研究 android 原生 kotlin 项目。
我正在使用Android 版本 10 的android real Oneplus 6设备测试应用程序。
请从 build.gradle 文件中找到以下详细信息,了解我用于项目的最新 okhttp 和改造依赖项。
好http
implementation "com.squareup.okhttp3:okhttp:4.9.0"
implementation "com.squareup.okhttp3:logging-interceptor:4.9.0"` 
改造
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
我已经为 okhttpclient 设置了相关超时。
.connectTimeout(HTTP_CONNECT_TIMEOUT, TimeUnit.SECONDS)
.readTimeout(HTTP_READ_TIMEOUT, TimeUnit.SECONDS)
.writeTimeout(HTTP_WRITE_TIMEOUT, TimeUnit.SECONDS)
我正在使用okhttp3.Interceptor。请在下面找到实现。
import okhttp3.Interceptor
import okhttp3.Request
import okhttp3.Response
class AuthorizationInterceptor(private val sharedPreferenceService: SharedPreferenceService) :
    Interceptor {
    override fun intercept(chain: Interceptor.Chain): Response {
        val requestBuilder = chain.request().newBuilder()
            .addHeader("Content-Type", "application/json")
            .addHeader("Accept", "application/json")
        return chain.proceed(requestBuilder.build())
    }
  }
观察/问题
我正在使用Eclipse IDE与Robolectric单元测试用例框架(robolectric-3.0-rc3.jar)在android应用程序测试项目中编写单元测试用例.
MainActivity activity = Robolectric.setupActivity(MainActivity.class);
activity.findViewById(R.id.myvideoview).performClick();
Intent expectedIntent = new Intent(activity, CategoryActivity.class);
assertThat(shadowOf(activity).getNextStartedActivity()).isEqualTo(expectedIntent);
android ×3
crashlytics ×1
firebase ×1
interceptor ×1
kotlin ×1
okhttp ×1
retrofit2 ×1
robolectric ×1