【问题标题】:How Proguard works in Intellij Idea?Proguard 如何在 Intellij Idea 中工作?
【发布时间】:2015-07-25 02:43:02
【问题描述】:

我正在使用 IntelliJ IDea 11.1.3 进行 Android 开发,我必须承认它是一个很棒的工具。我对如何在 IDE 中使用 Proguard 毫无疑问。

我在 Open Module Settings -> Facets 下找到了 Run Progaurd 选项,如下图所示

运行 Proguard 需要 Config File 的位置,默认为 proguard-project.txt。接下来是一个复选框,上面写着 Include system proguard file

此复选框选项中引用了哪些System Proguard文件?

鉴于 Proguard 的所有配置都在 Android SDK 的 proguard-android.txt 中。 Proguard 配置在 IntelliJ Idea 中是如何工作的?

P.S 任何帮助都将不胜感激,我正在尝试用 IntelliJ 了解 proguard 近一天,并且在 another question 中有未解决的问题。

【问题讨论】:

    标签: android intellij-idea proguard


    【解决方案1】:

    在花了两天时间尝试使用 IntelliJ Idea 使用 Proguard 4.7 之后,我有以下几点可以总结

    1. 如果您在文件project.properties 中取消注释proguard.config=${sdk.dir}\tools\proguard\proguard-android.txt:proguard-project.txt 行没有任何区别。
    2. 我不确定 IntelliJ 是否读取位于 android-sdk/tools/proguardproguard-android.txt 文件
    3. IntelliJ IDEA 读取位于项目中的文件 proguard-project.txt 文件,因此建议编辑并将所有 proguard 配置放在此文件中。
    4. 我仍然不清楚Include system proguard file 复选框选项的作用。

    【讨论】:

    • @MathiasLykkegaardLorenzen 是的,我按照我在答案中详述的方式工作。
    • 那么我从哪里获得这些文件或如何创建有效的文件?
    • @FlashThunder 为什么现在不使用 Android Studio 而不是 IntelliJ Idea?
    【解决方案2】:

    根据这个 google 文档 http://developer.android.com/tools/help/proguard.html#enabling-gradle,您需要在项目 build.gradle 文件中将 minifyEnabled false 更改为 minifyEnabled true

    ...\app\proguard-rules.pro 可以在需要时进行编辑以添加新规则。默认规则可能会满足您的所有需求,例如保护看起来可能由于布局 xml onClick 属性而被调用的方法的名称。上面引用的文档还包含更复杂更改的说明。

    您需要保留 mapping.txt 文件,该文件可在...\app\build\outputs\mapping\release 下找到

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-14
      • 2023-03-29
      • 2023-02-20
      • 2019-03-11
      相关资源
      最近更新 更多