代码之家  ›  专栏  ›  技术社区  ›  ZarNi Myo Sett Win

删除未使用的资源需要打开未使用的代码

  •  2
  • ZarNi Myo Sett Win  · 技术社区  · 7 年前

    应用程序-->重构-->删除未使用的资源

    收缩资源为真 在我的构建.gradle(应用程序)

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

    添加后 收缩资源为真 当我重建的时候,我得到了下面的错误。我的问题是如何首先打开未使用的代码?谢谢,谢谢。

    enter image description here

    2 回复  |  直到 7 年前
        1
  •  28
  •   Mostafa Anter    7 年前

    资源收缩只能与代码收缩一起工作。代码收缩器删除所有未使用的代码后,资源收缩器可以识别应用程序仍在使用哪些资源。当您添加包含资源的代码库时,尤其如此,您必须删除未使用的库代码,这样库资源就不会被引用,从而可以被资源收缩器删除

    要启用资源收缩,请在中将shrinkResources属性设置为true构建.gradle文件(为代码收缩启用minify)。例如:

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

    reference

        2
  •  3
  •   MasterQueue    7 年前

    您可能需要参考Android文档来缩减代码和资源:

    Shrink your code and resources

    正如前面的一条评论所指出的,只有在使用了代码收缩器时,资源收缩才起作用。启用 shrinkResources 在你的 build.gradle minifyEnabled true

        3
  •  3
  •   StayCool    5 年前

    也许你搞错了 minifyEnabled = false shrinkResources = true 在你的buildTypes.debug版本所以,也许,这是问题的根源,而不是你的问题buildTypes.release版本

        4
  •  2
  •   HIMANSHU MISHRA    5 年前

     release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
            useProguard true
            minifyEnabled false
            shrinkResources false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    
        }
    
        5
  •  1
  •   Ranajit Sawant    6 年前
    android {
        buildTypes {
            release {
                minifyEnabled true
                shrinkResources true
            }
        }
    }
    
        6
  •  0
  •   priyanka.b    5 年前

    为了使用资源收缩,您还需要启用代码收缩,因为这两种方法可以协同工作。
    所以要这样做,设置 收缩资源为真 minifyEnabled为真
    official site 同样的道理。

        7
  •  0
  •   Josef Vancura    4 年前

    一定要把它放进格拉德尔的适当部分

       signingConfigs {
        buildTypes {
            debug {
                buildConfigField "java.util.Date", "buildTime", "new java.util.Date(" + System.currentTimeMillis() + "L)"
            }
            release {
                buildConfigField "java.util.Date", "buildTime", "new java.util.Date(" + System.currentTimeMillis() + "L)"
            }
        }
    }
    
    
    buildTypes {
        release {
            minifyEnabled false
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }