34

假设我需要对应用程序项目和它所依赖的库项目应用相同的规则,我是否需要将 proguard.cfg 的内容从应用程序复制到库项目?

换句话说,应用程序的 proguard.cfg 是否“接管”了它所依赖的所有库项目,还是我必须为每个库项目明确指定规则?

4

3 回答 3

103

库项目本身不运行 ProGuard,因此它们不使用任何配置。

应用程序项目混淆了整个代码库,包括任何引用的库,因此它们需要对应用程序代码和库代码进行适当的配置。

于 2012-06-12T07:59:12.290 回答
4

答案似乎是“否”:Proguard 也会混淆库中的代码。

但那是在 2010 年,我们非常清楚规范在不断变化,尤其是在 Android 开发工具方面。因此,如果出现更权威的答案,我会接受。

于 2012-06-11T15:41:22.347 回答
2
  1. 在库项目的 build.gradle 中,在 buildTypes 中添加行consumerProguardFiles 'proguard-rules.pro'

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

    }

  2. build.gradle根项目中,启用minifyEnabled. 图书馆 proguard 将工作。

于 2019-03-04T13:26:15.530 回答