如何判断我是否在使用 Proguard 来混淆我的代码?

How can I tell if I'm using Proguard to obfuscate my code?

我有一个从 Eclipse 迁移到 Android-Studio 的应用程序。我想确保我在发布版本中使用 Proguard。我在 build.gradle 文件中看到:

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

但是,我的项目文件夹中没有 proguard-android.txt 或 proguard-rules.txt。我的代码被混淆了吗?

proguard-android.txt是系统文件.u不用管.

'proguard-rules.txt 来了。如果你还没有,你可以添加一个空文件。你可以使用你的自定义名称。但是当 minifyEnabled 为真时,你需要在其中添加一些行。

不,您的代码没有被混淆。你不是 运行ning proguard。 minifyEnabled控制是否运行proguard,你设置为false,需要改成true开启proguard。 getDefaultProguardFile('proguard-android.txt') 从 SDK 获取默认的混淆器规则。参见 proguardFiles docs

要检查您的代码是否被混淆,您可以查看 build/outputs/mapping/release 目录。这些文件应该有你构建期间的修改时间。查看 mapping.txt 将提供混淆细节(哪些名称映射到什么)。