Proguard不会混淆类名,只有方法被混淆

Qin*_*ing 4 android proguard android-proguard

我尝试在android studio中使用Proguard,但似乎Proguard并没有混淆类名,例如,我的app结构和配置:

在此输入图像描述

和配置

在此输入图像描述

但是当我尝试在应用程序中触发异常时:

在此输入图像描述

ADB控制台中列出了该异常:

在此输入图像描述

只有方法被混淆,MainActivity.class不是

Tom*_*mik 11

这是一种预期的行为,因为该类是一个活动!

AndroidManifest.xml中提到的所有类都必须保留其名称(活动,服务,提供程序,接收器,应用程序,检测).否则系统将无法找到它们.

Gradle构建会自动为您的ProGuard配置生成一些规则来实现此目的.它扫描AndroidManifest.xml并为在那里找到的每个类添加规则.

如果要查看所有使用的规则,请将此行添加到ProGuard规则中:

-printconfiguration "build/outputs/mapping/configuration.txt"
Run Code Online (Sandbox Code Playgroud)

它将创建configuration.txt包含所有规则的文件.

应该是这样的:

# view AndroidManifest.xml #generated:50
-keep class com.github.browep.proguard.MainActivity {
    <init>(...);
}
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

8872 次

最近记录:

8 年,8 月 前