【问题标题】:Different AndroidManifest.xml for low resolution and high resolution低分辨率和高分辨率的不同AndroidManifest.xml
【发布时间】:2015-08-25 15:09:06
【问题描述】:

我必须将我的应用 (APK) 分成两块:

  • 低分辨率,使用低分辨率纹理。
  • 高分辨率,使用高分辨率纹理。

现在这里的“低”和“高”是非常相对的。低包括 1x 和 2x 比例的纹理,高是 3x 比例的相同纹理。是的,这是从 iOS 移植的应用程序。由于尺寸原因,我必须制作多个 APK。

所以,我必须在某个地方划清界限,我可能会决定对最高 320 DPI 的设备使用低分辨率,而对 DPI 超过 320 的设备使用高分辨率。比如400以上,什么的。从它的外观来看,我们可以通过使用 AndroidManifest.xml 中的 supported-screens 标签来分离 DPI,但我不清楚应该如何执行,因为无法指定实际的 DPI。我的知识可能还不够,但我很难掌握如何将“dp”(本质上是 iOS 中的 points)与“dpi”(即密度)联系起来。

http://developer.android.com/guide/practices/screens_support.html

根据表格,Android 语言中的 320ish dpi 看起来是“xhdpi”,而上面的东西是 xxhdpi 等等(~480 dpi):

  • 低分辨率:xhdpi(超高)~320dpi
  • 高分辨率:xxhdpi (extra-extra-high) ~480dpi

问题是,如何在清单文件中要求某个最低 DPI?另外,低分辨率 APK 是否也必须指定最大 DPI?

【问题讨论】:

  • 我也有同样的问题
  • 仅供参考:我最终决定不这样做。维护几个 APK 是一件非常麻烦的事……这只是一个令人头疼的问题。我可能只使用低分辨率,或者做一些低于 50 MB 的艰苦工作。可能只有低分辨率。 IMO 的错误是谷歌设置的空间限制。 100 MB 对我来说并不是很多数据,即使通过蜂窝网络也是如此。

标签: android pixel-density


【解决方案1】:

您无需创建不同的 APK。只需将纹理放入正确的文件夹(drawable-mdpi、drawable-ldpi、drawable-hdpi、...),Android 将只为每个设备保留正确的密度文件夹。这就是他们制作the "mipmap" folder for launcher icons的原因:

当应用程序资源优化技术为未使用的屏幕密度删除资源时,启动器图标可能会显得模糊,因为启动器应用程序必须放大较低分辨率的图标才能显示。为避免这些显示问题,应用应使用 mipmap/ 资源文件夹作为启动器图标。

编辑: 如果你真的需要那么试试compatible-screens tag...

【讨论】:

  • 由于大小的原因,我必须制作多个 APK。 所有分辨率都不适合 50 MB。
  • 我的应用程序只有 3x 纹理最终为 41 MB,1x 和 2x 纹理为 31 MB。没有办法将所有内容都放在一个 APK 中并保持在 50 MB 以内。
  • Compatible-screens 看起来是正确的答案,不知道为什么我错过了那个。谢谢。
猜你喜欢
  • 2011-04-07
  • 2012-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多