开发人员控制台

步骤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,以便之前的APK能够获得更新的DRM设置。否则,无论您在此处如何选择,您之前的APK都将保留与之前相同的DRM设置。有关更多信息,请参阅关于DRM

APK文件

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

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

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

语言支持

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

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

测试说明

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

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

亚马逊应用商店证书散列值

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

更新现有APK

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

调整APK的设备支持

上传您的APK之后,设备支持部分会根据清单中的属性,显示APK支持(兼容)的设备。

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

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

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

要调整您的应用支持哪些设备,请单击Edit device support(修改设备支持)并更新指示的设备。根据需要开启(绿色)或关闭(灰色)设备支持。使用位于对话框顶部的选项卡在各个类别之间切换。

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

Fire TV的设备支持

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

设备支持原因

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

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

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

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

为同一应用添加多个APK

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

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

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

  1. 如果您还没有上传第一个APK,请将APK拖到APK文件框中来上传。
  2. 对于您上传的第一个APK,单击“Supported Devices(支持的设备)”对应的修改,并删除对第二个APK计划定向的设备的支持。

    例如,假设您有两个APK(APK1和APK2)用于Fire TV应用。对于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支持。

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

  5. 完成后,单击保存

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

常见错误故障排除

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

错误: 程序包名称重复

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

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

首先,检查以确保您未在其他亚马逊开发者账户上作为应用提交或动态应用测试上传此APK。如果您未在其他账户下上传此同一APK,请提交一个报告该问题并记录有程序包名称的支持案例。要提交支持案例,请登录到开发者控制台,单击右上角的? ,然后单击联系我们

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

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

警告: 设备支持减少

调整某个APK的设备支持时,您会看到如下警告:

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

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

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

目标设备不可用

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

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

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

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

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

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

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

后续步骤

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