安卓开发者控制台中崩溃报告出现问题

3

我正在使用Proguard构建我的应用程序,它会混淆代码,同时我将mapping.txt上传到反混淆文件中。我的崩溃报告显示了类和方法名称,但是没有显示行号。

在我的build.gradle文件中:

    buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

那么我将其上传为反混淆文件:

ProjectFolder/app/build/outputs/mapping/release/mapping.txt

我的问题是:

  • 我上传的反混淆文件是否正确?该目录中还有seeds.txt、dump.txt、usage.txt。

  • 如果使用proguard构建,是否可以通过Play商店在崩溃报告中获取行号?

1个回答

5

是的,我相信 mapping.txt 是正确的。

至于查看行号,我在我的 proguard-rules.pro 文件中添加了以下内容:

# To be able to see line numbers in stack traces

-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable

谢谢,我下次发布更新时会尝试一下。你有没有想法,这些规则是否会影响混淆并使代码更易读之类的? - rosghub
如果您尚未上传反混淆文件,且错误是在您的onCreate方法中的第123行引起的,您将会收到类似以下信息:at your.package.name.YourClassName.onCreate(SourceFile:123)。一旦上传了反混淆文件(mapping.txt),它应该显示得就像您在测试时通过Android Studio的Logcat接收到了错误一样。希望这能让事情更清晰 :) - Farbod Salamat-Zadeh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接