我有一个要求根据设备类型(LDPI,MDPI,HDPI ..等)压缩APK大小。我的客户要求提供多个APK。根据他的声明,小型设备具有低配置,因此apk大小应该更小,并且MDPI比LDPI好一点,因此大小可能会增加。因此他要求相应地进行构建。这样用户可以在更短的时间内下载应用程序并保存内部/外部存储器。
为此我尝试了很多压缩APK的方法,但是我在各个方面都失败了: * 9-补丁:我的项目不包含9-Patches的所有图像,实际上90%的图像都是非9patch的。 * Pro-guard:我尝试使用Proguard减小文件大小,但据我所知,proguard用于保护我的代码,并且apk大小压缩不多。 *我尝试了不适合我。
现在我正在关注波纹管过程,我知道这是非常糟糕的程序: 为LDPI设备生成APK我只将所有资源文件保存在res / ldpi文件夹中,我遵循相同的MDPI,HDPI,XHDPI等程序,
通过使用当前流程,我浪费了很多时间,这也是一个非常糟糕的过程。
要解决上述问题,请你帮我解决。
答案 0 :(得分:2)
使用Gradle for Android及其对APK density splits的支持。然后,Gradle for Android可以为每个密度生成APK文件,另外还有一个可选的"胖APK"包含所有密度。您可以将Android Studio用作IDE,也可以设置build.gradle
文件,该文件可以在Eclipse / Ant经典目录结构中构建现有项目。
但是,您的客户需要了解并非所有分发渠道都支持按屏幕密度分发不同的APK文件。 Play商店有。我不知道其他渠道(例如Android版的亚马逊AppStore)。并且用户可能不知道他们的设备密度是多少,所以依靠用户从网站上选择从多个版本中选择一个版本是不可靠的。
答案 1 :(得分:0)
通知您的客户,对于所有设备,apk大小将保持不变。让他/她了解在Play商店中,您不会为不同类型的设备上传不同的apk。