Ste*_*ris 7 gradle kotlin android-studio kotlin-coroutines
我在通过 Android Studio 以调试模式运行 Android 应用程序时遇到协程异常。
kotlinx.coroutines.JobCancellationException:StandaloneCoroutine 已取消
从协程调试文档中,我了解到,通过启用协程的调试模式,我可能会获得更完整的堆栈跟踪信息。
它可以通过设置系统属性 DEBUG_PROPERTY_NAME 或通过运行带有启用断言(-ea 标志)的 Java 来启用。
这就是我被困住的地方。在 Android Studio 中实现此目的的惯用方法是什么?我的项目是使用 Gradle 配置的,并且在 Windows 上运行。理想情况下,有一种方法可以通过 Gradle 配置进行配置,以便任何通过源代码控制拉入此项目的人都可以启用协程调试模式。
我还没有找到通过 Android studio 或 Gradle 进行配置的方法。有关这样做的信息对我仍然有用。但是,以下内容已被验证有效;我得到了完整的堆栈跟踪。
“系统属性”是指Java 系统属性。它们可以在运行时使用设置System.setProperty。
因此,我将以下代码添加到我的Application.onCreate().
override fun onCreate() {
// Enable coroutines debug mode in debug builds.
if (BuildConfig.DEBUG) {
System.setProperty(
kotlinx.coroutines.DEBUG_PROPERTY_NAME,
kotlinx.coroutines.DEBUG_PROPERTY_VALUE_ON
)
}
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2330 次 |
| 最近记录: |