从最终的apk

时间:2017-06-30 09:16:40

标签: android gradle

我经常分析apks并尝试优化和减少尽可能多的地方。 我想知道如何删除可能从库中导入的资源,例如[common_google_login_btn_text..9.png等]

这些不会在项目的任何地方使用,但它们会出现在最终的apk中。enter image description here

有没有办法可以完全删除这个drawable-xxhdpi-v4

有什么建议吗?除了分裂之外。

1 个答案:

答案 0 :(得分:0)

在AndroidStudio中

重构 - >删除未使用的Resoursces - >重构

您可以为项目实施resConfigs以限制资源。将以下代码添加到build.gradle

defaultConfig {
// ...
resConfigs "en"
resConfigs "nodpi", "hdpi", "xhdpi"
}

您还可以使用shrinkResources true来减少应用程序大小。

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

您可以使用splits。在build.gradle

中添加以下内容
android {
 ...
splits {

// Configures multiple APKs based on screen density.
density {

  // Configures multiple APKs based on screen density.
  enable true

  // Specifies a list of screen densities Gradle should not create multiple APKs for.
  exclude "ldpi", "xxhdpi", "xxxhdpi" // Exclude what you don't require
}}}   

参考文档:https://developer.android.com/studio/build/shrink-code.html

参考文档:https://developer.android.com/studio/build/configure-apk-splits.html