不同的APK为MDPI,HDPI,XHDPI和XXHDPI

时间:2014-04-16 05:56:42

标签: android google-play apk

在我的应用程序中,我在res中有太多图像,所以现在apk的大小变得很大(70 MB)。是否可以为MDPI,HDPI,XHDPI和XXHDPI手机上传不同的apk文件。如果HDPI手机用户正在下载我的应用程序,谷歌将播放手机,他应该只获得我的应用程序的HDPI版本。 (对于MDPI / XHDPI / XXHDPI也是如此。)

编辑:

我已成功创建了4个不同的APK文件(对于mdpi,hdpi,xhdpi,xxhdpi)。我刚刚添加下面的代码来清单 对于所有hdpi设备:

<compatible-screens>
    <screen
        android:screenDensity="hdpi"
        android:screenSize="small" />
    <screen
        android:screenDensity="hdpi"
        android:screenSize="large" />
    <screen
        android:screenDensity="hdpi"
        android:screenSize="normal" />
    <screen
        android:screenDensity="hdpi"
        android:screenSize="xlarge" />
</compatible-screens>

                                        

和xhdpi和xxhdpi一样。

现在问题是,我正在尝试在Google Play上传我的4个apk文件(相同应用)。但我无法找到允许我上传4个相同应用程序的功能。我只找到了可以上传一个apk文件的选项。

请指导我如何在 Google Play 上传相同应用的4个不同的apk(每个用于mdpi,hdpi,xhdpi,xxhdpi)。

1 个答案:

答案 0 :(得分:1)

是的,您可以构建多个APK以减少下载大小(source

在你的情况下:

android {
  ...
  splits {

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

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

      reset()  // Clears the default list from all densities to no densities.
      include "mdpi", "hdpi", "xhdpi", "xxhdpi" // Specifies the two densities we want to generate APKs for.
    }
  }
}

或者你可以只排除你不想要的密度:

android {
  ...
  splits {
    density {    
      enable true
      exclude "ldpi", "xxxhdpi"
    }
  }
}

然后,当您执行assembleRelease时,您将获得每个密度的APK +一个通用APK。如果您不想使用通用APK,请指定universalApk false

同样,如果您有本机库,您还可以为每个ABI创建不同的APK。