步骤7: 上传APK文件


步骤7: 上传APK文件

此处的文档介绍“APK文件”选项卡的相关信息:

“APK文件”选项卡
“APK文件”选项卡

在“APK文件”选项卡上,您上传APK文件,指示APK支持哪些设备等等。有关与APK相关的概念性主题,请参阅以下内容:

(如果您在上传网页应用程序,请参阅上传网页应用程序文件而非此主题。)

“APK文件”字段

下表描述了“APK文件”选项卡上的各个字段和部分。

“APK文件”选项卡字段
字段 描述
是否应用亚马逊DRM?

对于您提交到亚马逊的每个应用程序(单个应用程序可能包含多个APK),您可以选择应用DRM,也可以不采用任何权利管理约束来提供应用程序。DRM(数字版权管理)可保护您的应用程序免遭未经授权的使用。DRM设置应用到您应用程序的所有APK。如果没有DRM,您的应用程序可以由任何用户使用,不受限制。如果您选择对应用程序之一应用DRM,则必须使用亚马逊通过开发者门户提供的DRM系统。

请注意,DRM设置应用到您应用程序的所有APK。如果您之前已上传APK,并已添加与之前APK具有不同DRM设置的新APK,则您还需要替换之前的APK,以便它们能够获得更新的DRM设置。否则,无论您在此处如何选择,您之前的APK都将保留与之前相同的DRM设置。有关更多信息,请参阅关于DRM

APK文件

上传您的安卓APK文件(一次将一个文件放入框中)。如果没有使用Android Studio来构建签名APK,则可能需要压缩对齐文件。添加APK文件时,您可以通过单击信息图标APK信息图标来查看其详细信息。这些详细信息包括版本代码、版本名称、文件大小、软件包名称、最小开发工具包版本、功能、库、权限、本地化、支持的屏幕、兼容屏幕、OpenGL详细信息和本地平台。例如:

APK详细信息
这些详细信息确定APK支持哪些设备(筛选功能在设备筛选和兼容性中说明)。

上传APK后,APK会收到一个以API级别命名的别名(例如,“apilevel22”)。您可以根据需要重命名别名。自定义别名在内部使用,不向客户显示。有关与APK文件相关的详细信息,请参阅准备应用程序的APK文件更新已发布的应用程序

语言支持

请至少选择一个APK支持的语言。(默认值为英语。) 您在此处的选择将显示在应用商店中设备应用程序详情页面的“支持的语言”部分,以便让用户知道应用程序中提供哪种语言。(“支持的语言”部分仅显示在设备的应用商店应用程序显示页面上,而不显示在亚马逊应用商店网站上。)

此处的语言支持选择不会影响您的应用程序是否在本地化的应用商店市场中可用。APK中任何已本地化的界面必须由APK自身处理,而不是通过应用商店提交过程中的设置处理。但是,如果您有本地化的APK,则可以添加本地化的描述图像资产。此处选择的描述、图像资产和语言支持选项均会在亚马逊应用商店中显示在应用程序详情页面中,用于提供信息。有关本地化的详细信息,请参阅全球销售应用程序

测试说明

使用此字段与亚马逊测试团队交流。(如果无需测试说明,可将此字段留空。) 测试说明可包括以下内容:

  • 如果您的应用程序有难以发现的功能,请在此处提供查找这些功能的说明。此外,如果您需要根据亚马逊的反馈重新提交应用程序,您可以使用此字段回应测试报告电子邮件。
  • 如果您的应用程序要求用户登录,然后才能启动和使用该应用程序,请包括一组测试凭证供亚马逊测试团队使用。如果亚马逊在测试期间无法成功启动应用程序,就会拒绝该应用程序。
出口合规性 要求您确认,在您选择提供该应用程序的所有国家/地区,您的应用程序均符合要求。您可以在亚马逊开发者服务协议中的“遵守法律、隐私和安全义务”部分查看详细信息
使用亚马逊地图重定向 允许您将应用程序的谷歌地图v1 API调用自动重定向到亚马逊地图API。如果您实施了谷歌地图API,则只能在平板电脑和手机应用程序中使用。

应用商店证书哈希

证书信息(包括SHA-1、MD5和SHA-256哈希值)可从选项卡右上角区域的链接获取。作为提取流程的一部分,亚马逊会删除您的开发者签名并应用亚马逊签名。此签名对您而言是唯一的,不会更改,对您账户中的所有应用程序相同。有关详细信息,请参阅亚马逊应用程序签名

更新现有APK

如果要更新现有APK,请参阅更新已发布的应用程序。进行更新时,您可以选择替换现有APK并保留相同的“设备支持”选择,也可以删除之前的APK并重新选择“设备支持”详细信息。

调整APK的设备支持

通过您上传的APK,设备支持部分根据清单中的属性,显示APK支持(兼容)哪些设备。

如有必要,您可以手动删除对已知存在兼容性问题的设备的支持。支持的设备分为三个类别:

  • 亚马逊Fire手机和平板电脑: 显示您的应用程序支持的Fire手机和平板电脑。有关详细信息,请参阅平板电脑设备规格。默认情况下,为所有亚马逊Fire手机和Fire平板电脑设备以及所有非亚马逊的安卓设备启用您上传的APK的设备支持。
  • 亚马逊Fire TV设备: 显示您的应用程序支持的Fire TV设备。有关Fire TV设备名称的详细信息,请参阅Fire TV命名约定;有关规格,请参阅Fire TV设备规格

  • 非亚马逊安卓设备: 显示您的应用程序通过亚马逊应用商店安卓应用程序可以安装到的安卓设备。此选项为您的应用程序分发提供了额外的分销渠道(如果您的应用程序仅在亚马逊应用商店而不在Google Play上提供,则这尤为有用)。在此非亚马逊安卓设备分组中,设备分为三组: 支持(兼容)、排除(手动取消选择)和不支持(根据您的清单设置不兼容)。

要调整您的应用程序支持哪些设备,请单击编辑设备支持并更新指示的设备。将设备支持切换为开启(绿色)或关闭(灰色)。使用位于对话框顶部的选项卡在各个类别之间移动。

例如,如果您上传针对Fire TV设备设计的流媒体应用程序,则在亚马逊Fire TV设备行上单击编辑设备支持,然后在亚马逊Fire TV选项卡上选择相应的设备支持选项:

Fire TV的设备支持

要了解为什么您的APK不支持某个设备,请在“设备支持”对话框中将鼠标移动到设备名称旁边的帮助图标应用商店帮助图标上,如以下图像中所示。

设备支持原因

有关APK的支持设备的详细信息,请参阅下文:

对于非亚马逊设备,在“设备支持”对话框的底部,有一个选项针对所有其他安卓设备。可以对非亚马逊的安卓设备全部开启或关闭支持,或者手动调整设备支持。利用此设置,您的应用程序可以分销到其他任何安卓设备,包括未来兼容的安卓设备。新设备根据设备的热门程度定期添加。通过清单筛选,应用商店自动确定设备的兼容性。

如果关闭了“所有其他安卓设备”,您可以针对非亚马逊的设备,将兼容性策略从黑名单方法更改为白名单方法。换而言之,默认情况下,这些设备不支持您的APK;而是需要您手动选择APK将支持哪些第三方设备。

要为同一个应用程序添加另一个APK,请参阅下一部分为同一个应用程序添加多个APK

为同一个应用程序添加多个APK

上传多个APK时,请确保各个APK在清单中具有相同的package名称;但是,每个APK在Gradle构建文件中应具有唯一的versionCode

当您添加多个APK时,由于每个APK只可用于单个设备,对于您希望可用于其他APK的设备,您必须从第一个APK中删除对该设备的支持。以下分步说明和屏幕截图将阐明此选择流程。

要上传多个APK,请执行以下操作:

  1. 如果您还没有上传第一个APK,请将APK拖到APK文件框中来上传。
  2. 对于您上传的第一个APK,在“支持的设备”旁单击编辑,并删除对计划通过第二个APK定向的设备的支持。

    例如,假设您有两个APK用于Fire TV应用程序“APK1”和“APK2”。对于APK1,您希望定向除了Fire TV(第3代)之外的所有Fire TV。对于APK1,在“APK文件”部分中,单击“支持的设备”旁边的编辑。在出现的“设备支持”对话框中,清除“Fire TV(第3代)”旁边的复选框。 这将使Fire TV(第3代)可作为APK2的目标。如果您不从第一个APK中删除设备支持,您将无法使用第二个APK选择该设备。

    从第一个APK删除设备支持
    在此场景中,我们已删除对Fire TV(第3代)的支持,因为我们希望使用第二个APK选择它

    请注意,如果您在更新现有 APK,则在取消选中一些支持设备旁的复选框时,您可能会看到“设备支持减少”警告。此警告让您知道您在减少应用程序支持的设备数量。以前在这些设备上安装了您应用程序的客户(此APK现在不支持这些设备)将无法获取更新。(您可在此处了解更多信息:警告: 设备支持减少。) 由于您在上传多个APK,可以忽略此通知。上传另一个APK并将从您的第一个APK中删除的这些设备作为目标后,警告将不再适用。

  3. (可选)为APK提供可识别的名称,以便将它与接下来上传的APK区分开。
  4. 将另一个APK文件拖到“APK文件”框中。(可选)更改您上传的新APK的别名,以将其与第一个APK区分开来。

    当您将其他APK拖动到“APK文件”选项卡中时,第一个APK支持的设备对第二个APK不可用,因为两个APK无法安装在相同的设备中。在灰显设备下,您应该看到说明“由当前或之前版本中的其他APK定向。”(“定向”仅表示您已为该设备选择了支持的应用程序。) 请记住这条规则: 多个APK不能安装在同一台设备上。 借助第二个APK,您可以选择支持第一个APK尚未选择的设备。

    继续我们前面的示例,假设您上传"APK2"并希望Fire TV(第3代)支持此APK。您已在上一个APK中清除对此设备的支持,因此它现在应该可在第二个APK中选择。

    Fire TV(第3代)可供选择,因为您未在上一个APK中选择支持该设备。其他设备具有灰色的X,表示它们不可由此APK提供支持,因为它们已由上一个APK支持。

    对于多个APK,亚马逊应用商店不会根据API级别或versionCode自动分配APK(与Google Play不同)。上传多个APK时,您必须手动选择支持的设备。

  5. 完成后,单击保存

    您可以为每个应用程序添加两个以上的APK。根据需要,继续添加任意数量的APK。

常见错误故障排除

此部分提供与“APK文件”选项卡上的APK提交相关的故障排除信息。

错误: 包名称重复

上传APK时,您会看到以下错误:

“无法上传APK。所上传APK的包名称com.amazon.android.yourapp已由其他开发者拥有的应用程序使用。请联系我们以了解更多信息。

首先检查以确保您未在其他亚马逊开发者账户上通过应用程序提交或上架应用程序测试上传此了APK。如果您未在其他账户下上传这个相同的APK,请转到支持 > 联系我们,然后报告问题,在其中标注包名称。

请注意,在使用诸如Unity这样的开发环境或者预先存在的清单文件时,有可能您的应用程序的包名称中有占位符值,应在提交前更改该值。APK文件的包名称必须对于您所发布的应用程序唯一,并且通常采用格式com.companyname.appname

如果您与某个开发者或发布公司有合作关系,对方可能会上传您的应用程序进行上架应用程序测试,请联系您的开发合作伙伴,确认对方未在其账户中提交您的应用程序的APK文件。如果是这种情况,请要求他们终止当前的上架应用程序测试。然后联系我们并提供包名称,以解决问题。

警告: 设备支持减少

调整某个APK的设备支持时,您会看到警告,其中显示以下内容:

设备支持相比上一个版本有所减少。一些现有客户将无法升级。为解决清单冲突,亚马逊建议编辑清单以保留当前的设备支持。

此消息意味着,在新上传的APK中,您在清单或build.gradle文件中引入了新的属性,这些属性减少了兼容设备的数量。大多数情况下,您可能增加了API级别,这会减少支持更新的设备数量。因此,应用商店会警告您,某些设备可能无法安装此更新。

例如,假设在您发布的APK中,清单属性要求API级别最低为19,而具有支持API级别19的设备(但不支持任何更高级别)的客户将安装该应用程序。之后,您使用至少需要APK级别22的新功能或权限更新了应用程序。此次新的更新与客户(API级别为19)已安装的应用程序的先前版本不兼容。因此,客户将不会看到更新可用。

目标设备不可用

上传新的APK时,您将看到一条消息,指出APK不支持特定设备。该消息可能如下所示:

此设备上没有您的APK清单需要的功能。
android:minSdkVersion = '22'; device requires '15'

要查看不支持设备的原因,请在“设备支持”对话框中,将鼠标移动到设备名称旁边的帮助图标上。有关详细信息,请参阅调整APK的设备支持。这种不兼容可能是由于API级别、OpenGL压缩格式、CPU、屏幕尺寸和分辨率、设备功能造成,甚至可能是有关应用程序的其他因素造成,例如在某个地理区域设置不可用。

由当前版本中的其他二进制文件定向

如果您上传多个APK,设备可能已由其他APK支持。如果是这种情况,当您将鼠标悬停在不支持的设备上时,将会显示:

由当前版本中的其他二进制文件定向。

多个APK不能支持同一个设备。您需要编辑一个APK的设备支持,这样就能选择使用另一个APK来支持该设备。有关逐步说明的详细信息,请参阅为同一个应用程序添加多个APK。有关更多概念性的背景信息,请参阅同一个应用程序的多个APK列表

后续步骤

转到下一步: 步骤8: 提交应用程序并检查状态