崩溃报告中的ProGuard规则和行号

时间:2017-11-10 03:27:15

标签: android libgdx proguard

我使用基于LibGdx的Android游戏,我使用了下面的Gradle,proguard-rules.pro。在崩溃报告中,我没有看到源文件及其行号。我缺少什么?

Gradle

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

'proguard-rules.pro

-keep class com.google.firebase.provider.FirebaseInitProvider
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable

崩溃报告 - Android开发者控制台

java.lang.NullPointerException: 
at com.a.b.g.a (g.java:110)
at com.b.b.a (b.java:11)
at com.a.b.d.g (d.java:492)
at com.a.b.d.a (d.java:485)
at com.badlogic.gdx.backends.android.k.a (k.java:356)
at com.badlogic.gdx.backends.android.j.onDrawFrame (j.java:457)
at android.opengl.GLSurfaceView$GLThread.guardedRun (GLSurfaceView.java:1522)
at android.opengl.GLSurfaceView$GLThread.run (GLSurfaceView.java:1239)

Crash Report 2

Crash Report 3

1 个答案:

答案 0 :(得分:0)

您需要根据official article设置您的proguard规则。在我的情况下,不需要规则:

-dontwarn android.support.**
-dontwarn com.badlogic.gdx.backends.android.AndroidFragmentApplication

确保文件 proguard-project.txt 存储在 android模块中,而不是存储在项目根目录中。