步骤7:上传APK(二进制)文件

步骤7:上传APK(二进制)文件

此处的文档介绍“二进制文件”选项卡:

“二进制文件”选项卡
“二进制文件”选项卡

在“二进制文件”选项卡上,您上传APK文件,指示应用程序支持哪些设备等等。

有关与APK相关的概念性主题,请参阅以下内容:

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

“二进制文件”选项卡

下表介绍了“二进制文件”选项卡上的各个字段。

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

对于您提交到亚马逊的每个应用程序,您可以选择应用DRM,也可以不采用任何权利管理约束来提供应用程序。DRM可保护您的应用程序免遭未经授权的使用。如果没有DRM,您的应用程序可以由任何用户使用,不受限制。如果您选择对应用程序之一应用DRM,则必须使用亚马逊通过开发者门户提供的DRM系统。有关详细信息,请参阅关于DRM

应用商店证书哈希

作为提取流程的一部分,亚马逊会删除您的开发者签名并应用亚马逊签名。此签名对您唯一,不会更改,对您帐户中的所有应用程序相同。有关详细信息,请参阅亚马逊应用程序签名

二进制文件

上传安卓APK文件。(请注意,本文中术语“二进制文件”和“APK”可互换使用。)请参阅准备应用程序的APK文件。有关上传APK的详细信息,请参阅上传APK

语言支持

请至少选择一个二进制文件支持的语言。(默认值为英语。)

出口合规性

通过选中复选框来接受出口合规性声明,以此确认您的应用程序遵循适用的出口和进口法规。

使用亚马逊地图重定向

亚马逊设备不支持谷歌地图API。不过,亚马逊地图API提供的接口与谷歌地图第1版API等同。使用亚马逊地图重定向功能,您可以将从应用程序对谷歌地图第1版API的调用自动重定向到亚马逊地图API,在您的应用程序中无需更改代码即可提供无缝地图体验。此重定向仅在亚马逊设备上进行。

二进制文件别名

为您的APK文件提供一个唯一名称,这是内部使用的名称,客户无法看到。亚马逊会自动为此字段提供一个默认名称。

测试说明

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

  • 如果您的应用程序有难以发现的功能,请在此处提供查找这些功能的说明。此外,如果您需要根据亚马逊的反馈重新提交应用程序,您可以使用此字段回应从亚马逊收到的测试报告电子邮件。
  • 如果您的应用程序要求用户登录,然后才能成功启动和使用该应用程序,请包括一组测试凭证供亚马逊测试团队使用。如果亚马逊在测试期间无法成功启动应用程序,就会拒绝该应用程序。

准备APK

有关准备APK以及亚马逊用于您的APK的代码包装器的一般信息,以及APK大小限制和其他详细信息,请参阅准备应用程序的APK文件。此处的内容假设您已经准备好APK,可以上传到亚马逊应用商店。

上传APK

  1. 转到二进制文件选项卡(如有必要)。(如果您停留在此处,但在屏幕顶部没有显示发布工作流的上下文,请参阅将应用程序提交到亚马逊应用商店。)

    如果您已发布应用程序并在提交新版本,则在您应用程序标题下单击添加即将推出的版本

  2. 将您的APK拖动到上传二进制文件方框。

    在何处上传您的APK

    上传APK后,应用商店显示包名称、版本代码、版本名称、文件大小、API级别、功能、库、权限、本地化、支持的屏幕和其他确定设备兼容性的详细信息。

    由APK上传确定的详细信息

调整APK的设备支持

通过您上传的APK设备支持部分根据APK清单中的属性,显示APK支持(或者兼容)哪些设备。清单中的属性起到筛选条件的作用,用于自动确定支持哪些设备。

设备支持

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

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

    在“设备支持”对话框中,用于Fire TV设备的标识符与文档和amazon.com网站上的Fire TV命名约定有所不同。下面是这些名称在提交控制台中的含义:

    设备支持名称 零售名称
    Fire TV (2014) - AFTB Fire TV(第1代)
    Fire TV (2015) - AFTS Fire TV(第2代)
    Fire TV(第3代)- AFTN Fire TV(第3代)
    Fire TV Stick - AFTM Fire TV Stick(第1代)
    Fire TV Stick(带Alexa Voice Remote)- AFTT Fire TV Stick(第2代)
    亚马逊Fire TV Edition - AFTRS 亚马逊Fire TV Edition

</table>

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

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

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

Fire TV的设备支持

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

设备支持原因

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

搜索设备支持

所有设备下拉菜单(上一个屏幕截图的左上角)还提供了快速查看设备支持选项的方式:

  • 所有设备:显示所有可能的设备
  • 支持的设备:显示您的APK支持的那些设备
  • 手动排除:显示已取消选定的设备
  • 不支持的设备:显示由于与APK的不兼容问题而自动排除的设备。这包括其他APK支持的设备。

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

如果关闭了“所有其他安卓设备”,您可以针对非亚马逊的设备,将兼容性策略从黑名单方法更改为白名单方法。

如果您希望为同一个应用程序添加另一个APK,请参阅下一部分为同一个应用程序添加多个APK

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

同一个应用程序的多个APK列表中说明了有关为您的应用程序上传多个APK的更多概念性详细信息。请注意,只有亚马逊设备支持为同一个应用程序添加多个APK。定向到非亚马逊设备时,亚马逊应用商店不支持多个APK。请确保每个APK在清单中具有相同的名称,同时在Gradle生成文件中具有唯一的versionCode

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

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

  1. 如果您尚未上传第一个APK,请参阅上文的上传APK
  2. 对于您上传的第一个APK,单击编辑设备支持并删除对计划通过第二个APK定向的设备的支持。

    例如,假设您有两个APK用于Fire TV应用程序“APK-alias1”和“APK-alias2”。对于APK-alias1,您希望定向除了Fire TV(第3代)之外的所有Fire TV。对于APK-alias1,单击“亚马逊Fire TV设备”旁边的编辑设备支持,然后清除“Fire TV(第3代)”旁边的复选框。这将使该设备可供APK-alias2选择。如果您不从第一个APK中删除设备支持,您将无法使用第二个APK选择该设备。

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

    请注意,如果您在更新现有APK,则在取消选择一些支持的设备时,您可能会看到“设备支持减少”警告。此警告让您知道您在减少应用程序支持的设备数量。如果客户以前在设备上安装了您的应用程序,而您取消选择了该设备,现在您的应用程序不再支持该设备,则客户不会获得更新。您可以在警告:设备支持减少中了解更多信息。由于您在上传多个APK,可以忽略此通知。在您上传另一个APK并选择支持这些取消选定的设备后,该警告将不再适用。

  3. 二进制别名字段中,为APK提供可识别的名称,以便将它与接下来上传的APK区分开。
  4. 单击保存并添加二进制文件按钮,然后上传另一个APK。

    当您单击“保存并添加二进制文件”按钮时,第一个APK支持的设备对第二个APK不可用,因为两个APK无法安装在相同的设备中。在灰显的设备下方,您应看到短语“由当前或之前版本的另一个二进制文件定向”。(定向仅意味着您在应用程序中选择了支持该设备。)请记住此规则:多个APK不能安装在同一台设备上。借助第二个APK,您可以选择支持第一个APK尚未选择的设备。

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

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

    对于多个APK,与Google Play不同,亚马逊应用商店不会根据API级别或versionCode自动分配APK。上传多个APK时,您必须手动选择支持的设备。这对于Fire TV设备尤其如此,因为对于这些设备,很大程度上会忽略亚马逊设备的自动清单筛选。

  5. 二进制别名字段中为APK添加名称,用于将其与第一个APK区分开。
  6. 完成后,单击保存

    您可以为每个应用程序添加两个以上的APK。根据需要继续添加更多的APK。

替换已发布应用程序的APK

要替换已发布应用程序的APK,请按照以下步骤执行操作。

  1. 构建新APK,在应用程序的Gradle生成文件中为其指定新的versionCode
  2. 登录到开发者门户,然后单击您要修改的应用程序的名称。
  3. 在靠近页面顶部的位置,在您的应用程序名称下方的区域中,单击添加即将推出的版本,然后单击确定。您可以为更新现有APK和添加新APK使用“即将推出的版本”功能。
  4. 转至二进制文件选项卡并单击编辑按钮。此页面上会列出现有APK。
  5. 二进制文件部分中,单击您的APK文件旁边的X。这将删除APK而无需重新选择设备支持。
  6. 将新二进制(APK)文件拖放到上传二进制文件框中。(如果您在添加多个APK,请参阅上文中的为同一个应用程序添加多个APK。)
  7. 单击保存
  8. 选择发行说明选项卡。您对原始应用程序进行的每次更新都需要提供发行说明。
  9. 单击保存,然后单击提交应用程序

常见错误故障排除

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

错误:包名称重复

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

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

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

请注意,在使用诸如Unity这样的开发环境或者预先存在的清单文件时,有可能您的应用程序的包名称中有占位符值,应在提交前更改该值。二进制文件的包名称必须对于您所发布的应用程序唯一,并且通常采用格式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:提交应用程序并检查状态