Proguard回溯输出混乱

wes*_*ton 8 android proguard

我在这里有来自Android市场的一款游戏的堆栈跟踪.我已经取消了它,但我无法理解它!

我不是在错误本身中寻求帮助,而是如何解释这一点.

我从市场开始:

java.lang.IllegalArgumentException
at java.nio.Buffer.position(Buffer.java:299)
at com.a.a.k.o.a(Unknown Source)
at com.a.a.k.w.a(Unknown Source)
at com.a.a.k.w.onDrawFrame(Unknown Source)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1363)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1118)
Run Code Online (Sandbox Code Playgroud)

但是retrace.bat输出了这个,这个更长,所以我不知道com.aakoa是什么(例如).

java.lang.IllegalArgumentException
at java.nio.Buffer.position(Buffer.java:299)
at com.eaw.graphics.WorldViewShader.void glSetMVPMatrix(float[])(Unknown Source)
                                    void glSetNormalMatrix(com.eaw.graphics.AMatrix)
                                    void SetVertices(java.nio.FloatBuffer)
                                    void ApplyArgs(com.eaw.graphics.WorldViewShaderArgs)
at com.eaw.graphics.TriangleRenderer.void onDrawFrame(com.eaw.airrace.ILayer,com.eaw.airrace.StepOutput,boolean)(Unknown Source)
                                     void loadTexture$332cd44f(int[],int,int)
                                     void delayedLoadTexture(int[],int[],int,int)
at com.eaw.graphics.TriangleRenderer.void onDrawFrame(javax.microedition.khronos.opengles.GL10)(Unknown Source)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1363)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1118)
Run Code Online (Sandbox Code Playgroud)

在遮挡期间它是否将4个功能归为1?或者是什么?

Eri*_*une 5

您处理的代码和堆栈跟踪不包含行号,因此ProGuard无法确定混淆方法名称"a"对应的原始方法名称.然后打印出所有可能的替代品.(CFR).ProGuard的Retrace手册.

本手册还介绍了如何在混淆步骤中保留行号.

  • 从今天起,回溯手册似乎无法访问.我启用了`LineNumberTable`等,我可以在我的映射文件中看到行号,但是回扫仍然无法消除方法之间的歧义. (2认同)

thi*_*olr 5

您应该添加-keepattributes SourceFile,LineNumberTable到您的proguard配置文件!