Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Kotlin:ArrayIndexOutOfBoundsException在将DispatchTask转换为字符串期间发生异常_Android_Kotlin_Kotlinx.coroutines - Fatal编程技术网

Android Kotlin:ArrayIndexOutOfBoundsException在将DispatchTask转换为字符串期间发生异常

Android Kotlin:ArrayIndexOutOfBoundsException在将DispatchTask转换为字符串期间发生异常,android,kotlin,kotlinx.coroutines,Android,Kotlin,Kotlinx.coroutines,我们已将第一批Kotlin产品投入生产,我们的stacktrace出现崩溃: Fatal Exception: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0 at kotlin.jvm.internal.ReflectionFactory.renderLambdaToString(ReflectionFactory.java:47) at kotlin.jvm.internal.Reflecti

我们已将第一批Kotlin产品投入生产,我们的stacktrace出现崩溃:

Fatal Exception: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
       at kotlin.jvm.internal.ReflectionFactory.renderLambdaToString(ReflectionFactory.java:47)
       at kotlin.jvm.internal.Reflection.renderLambdaToString(Reflection.java:80)
       at kotlin.jvm.internal.Lambda.toString(Lambda.kt:22)
       at java.lang.StringBuilder.append(StringBuilder.java:202)
       at kotlinx.coroutines.experimental.DispatchedContinuation.toString(CoroutineDispatcher.kt:192)
       at java.lang.StringBuilder.append(StringBuilder.java:202)
       at kotlinx.coroutines.experimental.DispatchTask.toString(CoroutineDispatcher.kt:124)
       at java.lang.StringBuilder.append(StringBuilder.java:202)
       at android.os.Looper.loop(Looper.java:160)
       at android.app.ActivityThread.main(ActivityThread.java:5637)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
谷歌向我们展示了在安卓5上100%的情况。Crashlytics/Fabric还显示了安卓4.4的两次崩溃。没有来自较新Android版本的崩溃

我不知道如何防止这次崩溃,也不知道如何复制它

当前版本:

  • kotlinx:kotlinx协同程序核心:0.16

    • 这是Kotlin反射中的一个bug。同时,我建议升级到
      kotlinx.coroutines
      库的最新版本(您可以找到最新版本)。自0.17版以来,DispatchTask.toString不再尝试将lambda转换为字符串。它的
      toString
      实现现在实际上更有用,并且有更多相关信息用于调试目的。

      请发布您的循环代码。我不确定您的意思是什么。你是说用Kotlin编写的带有循环/循环的代码吗?首先,拉动应用程序。一旦您解决了崩溃问题,然后发布到生产环境中。第二最好在调试中再现错误,但在生产构建(内部)中使用logcat和其他工具。如果它100%发生,那么我不明白你所说的“不知道如何…复制”是什么意思。你使用proguard还是类似的东西?看起来lambdas的超级界面似乎被后处理工具库擦除了!将尝试0.18:-)