android-studio - Android Studio : proguard line numbers wrong, 没有完全混淆

标签 android-studio proguard

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

在过去的某个时候,我的 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)

我的 proguard-project.txt 有以下内容
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable

-assumenosideeffects class android.util.Log { ... stuff ... }

有任何想法吗?

最佳答案

一旦我遇到一个非常相似的问题,异常调度输入事件,为了解决它,我使用以下行添加代码来保护每个文件夹:

-keep class !com.MyPackage.folderActivity { *; }

如果添加文件夹后混淆失败,您可以使用非常相似的方法逐类添加同一文件夹的类:
-keep class !com.MyPackage.folderActivity.ActivityOne { *; }

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

嗯,我希望这有用。

关于android-studio - Android Studio : proguard line numbers wrong, 没有完全混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37194963/

相关文章:

android - 如何从 Android Studio 中的 Assets 中读取文本文件?

java - 如何将 EasyPost 库添加到 Android Studio 项目

android - 在 Windows 7 上安装没有管理员权限的 Android Studio 软件

安卓工作室 3.2.1 ArtifactResolveException : Could not resolve all artifacts for configuration ':classpath'

android - ProGuard 在我的应用程序中不起作用

java - Android 使用 Jsoup 解析 HTML 时出现问题

maven - 工作 maven 混淆示例

java - 如何让 Proguard 混淆 jar 文件中的 jar

android - 如何使 R8 + proguard-android-optimize.txt + Google Drive API 无缝运行?

android - React Native 应用程序在发布版本中混淆代码时出现 native 运行时错误