Android 为什么Kotlin文件显示为.java是启用Proguard的Fabric Crashlytics?

Android 为什么Kotlin文件显示为.java是启用Proguard的Fabric Crashlytics?,android,kotlin,crashlytics,Android,Kotlin,Crashlytics,我最近打开了一个Android应用程序的Proguard最小化,该应用程序在Fabric控制台上使用Crashylics报告。该项目主要用Kotlin编写 事故报告仍然收到。堆栈跟踪不再将Kotlin源文件列为.kt,而是列为.java 例如,MyFragment.java:20而不是MyFragment.kt:20 根据跟踪中的信息,例如函数名和变量名,堆栈中的行号与.kt文件中的行号匹配 我有配置指南中列出的Proguard排除: 科特林有额外的行动吗 我想在崩溃报告中看到正确的文件扩展名-

我最近打开了一个Android应用程序的Proguard最小化,该应用程序在Fabric控制台上使用Crashylics报告。该项目主要用Kotlin编写

事故报告仍然收到。堆栈跟踪不再将Kotlin源文件列为
.kt
,而是列为
.java

例如,
MyFragment.java:20
而不是
MyFragment.kt:20

根据跟踪中的信息,例如函数名和变量名,堆栈中的行号与
.kt
文件中的行号匹配

我有配置指南中列出的Proguard排除:

科特林有额外的行动吗


我想在崩溃报告中看到正确的文件扩展名-


默认情况下,我们假设使用.java扩展,但我们将在将来改进Kotlin的这种体验

问题在于,对于混淆的类,Proguard映射文件没有提供该类来自哪个文件的任何指示。Crashlytics工程团队已经意识到了这一问题,并有望在不久的将来找到解决方案。

这可能是因为Kotlin(不是Kotlin/Native)编译为Java,只需仔细检查Proguard配置中是否有此功能
-keepattributes SourceFile
是的,我有
-keepattributes SourceFile,LineNumberTable
@sparespoke你找到解决方案了吗?以前它在崩溃报告中显示kotlin源代码,但现在在中显示java源代码!你好我面临一个类似的用例:我使用一个记录python异常的库,并将其作为
String
消息提供给我。我需要把它送到Firebase Crashlytics。因此,我正在基于每个python异常消息行使用stackTrace元素构建一个特定的java异常
MyCustomPythonException
。下面是
MyCustomPythonException.StackTraceeElement的一个示例:```` someInfo.functionName(myPythonFile.py:123)``这里是它在Crashlytics中的显示方式:``` someInfo.functionName(myPythonFile**.java**:123)``是用
.java
替换
.py
的api吗?你修复了这个问题吗。请确认。