Android应用程序崩溃,没有任何堆栈跟踪错误

时间:2019-03-04 16:21:29

标签: android kotlin retrofit2 kotlinx.coroutines

我刚开始使用该新应用程序,想查看我是否通过翻新得到了任何响应并将其打印在TextView中。

但是该应用程序崩溃时没有任何堆栈跟踪,因此没有异常……什么也没有。

我有一个Retrofit界面和一个“工厂”,用于创建“请求”,一切都通过Kotlin Coroutine在不同的线程中运行。

Serdes

我很想发布一个错误消息...但是没有错误,一切都应该完美运行:/

4 个答案:

答案 0 :(得分:4)

要使用Dispatchers.Main,我们需要在应用程序的 build.gradle 文件依赖项中添加以下行:

  

实现'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.0.1'

缺少依赖关系可能是导致应用程序崩溃而没有任何堆栈跟踪的原因。

答案 1 :(得分:0)

没有stacktrace,可能是这些问题:

service.getData()

可以抛出NullPointerException

debugTextView.text

可以抛出NullPointerException

response.toString()

可以抛出NullPointerException

答案 2 :(得分:0)

我对协程不是很熟悉,但是您是否只在视图上设置文本时才尝试使用主线程?像这样的东西:

val service = RetrofitFactory.makeCarDataService()
    GlobalScope.launch(Dispatchers.Default/*change here*/) {
        val request = service.getData()

        val response = request.await()
        /*change here*/
        withContext(Dispatchers.Main) {
            debugTextView.text = response.toString()
        }

    }
}

答案 3 :(得分:-1)

尝试这个:
try {
    val request = service.getData()
    val response = request.await()
    debugTextView.text =response.toString()
} catch (e: RuntimeException) {
    e.printStackTrace()
} catch (t: Throwable) {
    t.printStackTrace()
}