【问题标题】:ProGuard obviously does not runProGuard 显然没有运行
【发布时间】:2018-02-01 00:02:53
【问题描述】:

我尝试用proguard做一些代码优化,但直到现在还没有成功。 SO上类似问题的所有答案都没有帮助我,谷歌提供的关于proguard的文档也不是很有帮助。

我做了什么:

我在应用级别的 build.gradle 中有以下内容:

buildTypes {
    debug {
        testCoverageEnabled = true
        debuggable true
    }
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
    debuggable.initWith(buildTypes.debug)
    debuggable {
        testCoverageEnabled = false
        debuggable true
    }
}

在我的 proguard-rules.pro 中我添加了这个:

-assumenosideeffects class android.util.Log {
    public static boolean isLoggable(java.lang.String, int);
    public static int v(...);
    public static int i(...);
    public static int w(...);
    public static int d(...);
    public static int e(...);
}

我没有更改 proguard-android-optimize.txt 文件中的任何内容。

现在,当我构建一个签名的发布 apk (Android Studio 3.0) 时,反编译结果显示我的代码没有任何变化,并且没有可见的 proguard 输出(不在 app/build/intermediates-folder 中,也不在毕业控制台)。我确定我错过了一些非常简单的东西,但我无法弄清楚。

我还需要配置什么才能让 proguard 运行吗?

【问题讨论】:

    标签: android android-proguard


    【解决方案1】:

    好吧,我好像一直是不记得“你试过把它关掉再打开吗?”的受害者

    今天我启动了我的机器,打开了 Android Studio,一切都很顺利。看起来有些东西缓存在 Android Studio、Gradle、ProGuard 等中,所以我之前的错误尝试使所有东西都处于不稳定状态,没有任何效果。

    因此,如果有人有类似的设置(带有 Gradle 4.1 的 Android Studio 3.0),具有上述确切配置并且事情不起作用:

    “尝试将其关闭然后再打开”。

    :-)

    (不仅仅是 Android Studio,因为这是我昨天所做的,但没有成功。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 2014-03-12
      • 2015-02-02
      • 2015-05-08
      • 1970-01-01
      • 2014-05-31
      • 1970-01-01
      相关资源
      最近更新 更多