【问题标题】:Publishing multiple versions of one app on Google Market在 Google Market 上发布一个应用的多个版本
【发布时间】:2010-12-20 16:07:00
【问题描述】:

我有一个 Android 应用程序,我想用它来显示高质量的图像。然而,有许多不同的屏幕尺寸和比例。我知道有一些过滤器可以在 Market 中仅针对小/中/大屏幕的设备显示应用。

如果我将两种尺寸的图像放在 1 个应用程序中,应用程序的大小会加倍,对吗?

为不同的屏幕尺寸制作多个版本是一种好习惯吗?

我想为此类设备制作 3 个版本的 1 个应用:

  • 中屏 mdpi
  • 中屏 hdpi + 大屏 mdpi
  • 大(片剂)

如果可以的话,我如何在清单中指定它们?还是在市场上的某个地方?

【问题讨论】:

    标签: android filter screen google-play


    【解决方案1】:

    Android 有一个内置机制,用于为不同的屏幕尺寸和像素密度设计资源。它被称为 resource directory qualifiers,您可以阅读有关它的所有信息here

    例如,对于小屏幕尺寸,您可以创建一个特定的布局文件并将其放在res/layout-small 目录中。对于更大的屏幕,您可以创建一个同名的布局文件并将其放在res/layout-large(或res/layout-xlarge)目录中。

    对于像素密度,您可以创建一个小版本的图像资源并将它们放在res/drawable-ldpi 目录中(较低的像素密度)。对于更高的像素密度,您可以创建替代版本并将它们放在res/drawable-hdpi 目录中。

    我建议您阅读Supporting Multiple Screens 上的页面,让 Android 借助其内置机制帮助您。创建应用程序的三个独立副本对您来说更难维护,并且会使潜在用户感到困惑(他们中的大多数人可能既不知道也不关心“像素密度”)。什么可以阻止他们下载错误版本的应用,并因此而获得糟糕的体验?

    【讨论】:

    • 我知道不同的 res/size 目录,但是从 Market 下载应用程序时看起来如何?如果我创建一个包含所有分辨率和大小的 20 MB 包,那么每个用户将下载整个 20 MB 还是只下载他的屏幕/硬件的资源?让 2-3 个应用版本仅在具有指定屏幕尺寸的设备上在市场上可见会减少可下载应用的大小。
    【解决方案2】:

    似乎没有人解决您真正询问的文件大小问题,所以我会尝试。

    您应该将您的高质量图像打包为一组单独的下载,每个下载用于您计划支持的每种类型的设备。这使您的基础应用程序变小,并确保最终用户的磁盘空间仅由它需要的图像填充。

    我自己没有这样做,但希望这个想法能让您走上正确的搜索路径。我想您将单独下载设计为您自己服务器上的资源或市场上的另一组应用程序(即“MyApp Image Pack HDPI”、“... MDPI”等)。

    【讨论】:

    • 不知道有没有什么奇怪的设备可以改变屏幕密度。在笔记本电脑模式下使用 Atrix 会改变密度吗?
    【解决方案3】:

    正如上面提到的甜甜圈,android 有关于herehereherehere 的优秀文档。

    请注意,所有 Manifest 文件的更改以及如何创建一个支持不同屏幕尺寸、不同密度和不同 SDK 的二进制文件都在 android 网站上。但这需要仔细的计划和测试才能做到这一点。

    最好的方法是在您的开发环境中拥有所有设备配置(列出的here,包括可用的三星 Galaxy Tab 模拟器(大屏幕,hdpi)here)并在它们上测试您的应用程序。

    【讨论】:

    • 但如果我在 1 个项目中拥有所有设备配置,用户不会下载所有设备的所有资源吗?我想覆盖尽可能多的设备,但应用程序较小... 使用此类过滤器发布 1 个版本的应用程序不是更好吗?所有用户只会看到市场上的 1 个应用程序版本?
    • 他将能够下载所有资源,但如果您遵循我在上面发布的链接中的指南,那么您将看到您可以重用一些资源(例如,通过使用默认的可绘制文件夹) .在任何情况下,应用程序大小都不应该成为问题,因为 Android 手机的处理能力和磁盘容量都不是问题。现在,如果大量资源正在损害性能,那么这是一个问题,但可以通过一些仔细的设计来解决。 Android 是最好和最容易开发的平台之一。
    • 问题是为什么 medium/mdpi 用户必须同时下载中等和高质量的资源? :/我注意到android中的imageview并不能很好地缩小图像。所以我更喜欢拥有不同的资源,而不是强迫用户下载应用程序大小的 2 倍。
    • 他们这样做是因为他们不希望开发人员担心为不同的密度创建不同的构建。在 J2ME 等其他平台上,这是一个大问题。回到过去,我不得不为一个应用程序创建数十个构建,感谢您不必这样做。从用户的角度来看,如果性能不受影响,他不在乎 apk 是否有额外的资源。
    【解决方案4】:

    您必须为每个版本创建不同的 .apk 并在应用程序的清单文件中定义它。使用此链接 http://developer.android.com/guide/practices/screens-distribution.html

    【讨论】:

    • 一年前我问这个问题时,Android SDK 是现在的一半,我已经知道答案了 :) 但是谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多