Android Studio:proguard行号错误,不完全混淆

Per*_*man 7 proguard android-studio

新:我正在寻找的主要内容是修复错误的行号.这使得几乎不可能查明各种崩溃.

在过去的某个时刻,我的proguard混淆停止了正常工作,或者看起来如此.在以下日志文​​件片段中,请注意我的标识符BasicList和ImageClick正在文件中显示.然而,很明显Proguard正在运行,因为存在着歧视.

其次,对于BasicList行,它显示的行号为6218.我的源文件没有接近那么多行的位置.需要明确的是,它也不是一个角色.

E/InputEventReceiver( 3814): Exception dispatching input event.
E/MessageQueue-JNI( 3814): Exception in MessageQueue callback: handleReceiveCallback
E/MessageQueue-JNI( 3814): java.lang.NullPointerException
E/MessageQueue-JNI( 3814):  at com.perinote.perinote2.BasicList.a(SourceFile:6218)
E/MessageQueue-JNI( 3814):  at com.perinote.perinote2.ae.onClick(SourceFile:266)
E/MessageQueue-JNI( 3814):  at android.view.View.performClick(View.java:4240)
E/MessageQueue-JNI( 3814):  at com.perinote.widgets.ImageClick.onTouchEvent(SourceFile:1156)
E/MessageQueue-JNI( 3814):  at android.view.View.dispatchTouchEvent(View.java:7384)
E/MessageQueue-JNI( 3814):  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)
Run Code Online (Sandbox Code Playgroud)

我的proguard-project.txt有以下内容

-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable

-assumenosideeffects class android.util.Log { ... stuff ... }
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

ZLN*_*LNK 0

有一次我遇到了一个非常类似的问题,使用异常调度输入 Event,为了解决它,我使用以下行添加了代码来混淆每个文件夹:

\n\n
-keep class !com.MyPackage.folderActivity { *; }\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果添加文件夹后混淆失败,您可以使用非常类似的方法逐个添加同一文件夹的类:

\n\n
-keep class !com.MyPackage.folderActivity.ActivityOne { *; }\n
Run Code Online (Sandbox Code Playgroud)\n\n

一开始这是一个非常慢的过程,但后来它很容易维护。

\n\n

嗯,我希望这有用。

\n