Vielen Dank für Ihren Besuch. Diese Seite ist momentan nur auf Englisch verfügbar. Wir arbeiten an der deutschen Version. Vielen Dank für Ihr Verständnis.

Step 7: Upload APK Files

The documentation here relates to the APK Files tab:

APK Files tab
APK Files tab

On the APK Files tab, you upload your APK files, indicate which devices your APKs support, and more. For more conceptual topics related to APKs, see the following:

(If you're uploading a web app, see Upload Web App Files instead of this topic.)

APK Files tab

The following table describes each field and section on the APK Files tab.

APK Files tab fields
Field Description
Apply Amazon DRM?

For each app that you submit to Amazon (a single app might contain multiple APKs), you can choose either to apply DRM or make your app available without any rights management constraints. DRM (digital rights management) protects your application from unauthorized use. The DRM setting applies to all of your app's APKs. Without DRM, your app can be used without restrictions by any user. If you choose to apply DRM to one of your apps, you must use the DRM system provided by Amazon through the Developer Portal.

Note that the DRM setting applies to all of your app's APKs. If you have previous APKs uploaded and are adding a new APK with different DRM settings than your previous APKs, you'll need to replace the previous APKs as well so they can receive the updated DRM settings. Otherwise, your previous APKs will retain the same DRM settings as before, regardless of your selection here. See About DRM for more information.

APK File

Upload your Android APK files (drop one file at a time into the box). When you add an APK file, you can see its details by clicking the information icon APK information icon . These details include the version code, version name, file size, package name, minimum SDK version, features, libraries, permissions, localizations, supported screens, compatible screens, OpenGL details, and native platforms. For example:

APK details
These details determine what devices are supported by your APK (filtering is explained in Device Filtering and Compatibility).

After you upload an APK, the APK receives an alias named after the API level (for example, "apilevel22"). You can rename the alias as desired. The custom alias is used internally and not be seen by customers. See Preparing the APK File for Your App and Updating a Published App for more details related to APK files.

Language support

Select at least one language supported by your APK. (The default is English.) Your selection here appears in a "Supported Languages" section in the device app details page in the Appstore to let users know which language is available in the app. (The "Supported Languages" section appears only on the device's display of Appstore apps, not on the Amazon Appstore website.)

The Language Support selection here doesn't influence whether your app becomes available in localized Appstore marketplaces. Any localization interfaces in your APK must be handled by your APK itself, not through settings in the Appstore submission process. However, if you do have a localized APK, you can add localized descriptions and image assets. The descriptions, image assets, and language support option selected here all inform your app details page in the Amazon Appstore. See Distribute Your App Internationally for more details on localization.

Testing instructions

Use this field to communicate with the Amazon testing team. (If no testing instructions are needed, leave this field blank.) Testing instructions might include the following —

  • If your app has difficult-to-discover features, include directions here for finding those features. Also, if you need to resubmit your app based on feedback from Amazon, you can use this field to respond to the test report emails.
  • If your app requires users to log in before launching and using the app, include a set of test credentials for the Amazon test team to use. If Amazon cannot successfully launch your app during testing, the app will be rejected.
Export Compliance Asks you to certify that your app is compliant in all countries in which you've chosen to make it available. You can read more details in the "Compliance with Laws; Privacy and Security Obligations" section in the Amazon Developer Services Agreement
Use Amazon Maps Redirection Allows you to automatically redirect Google Maps v1 API calls from your app to the Amazon Maps API. Only used in tablet and phone apps if you have the Google Maps API implemented.

Appstore Certificate Hashes

Certificate information, which includes the SHA-1, MD5, and SHA-256 hashes, is available from a link in the upper-right area of the tab. As part of the ingestion process, Amazon removes your developer signature and applies an Amazon signature. This signature is unique to you, does not change, and is the same for all apps in your account. For more details, see Amazon App Signatures.

Update an Existing APK

If you're updating an existing APK, see Updating a Published App. When you make the update, you have the option of replacing an existing APK and retaining the same Device Support selections, or removing the previous APK and re-selecting your Device Support details.

Adjust Device Support for your APK

With your APK uploaded, the Device Support section shows which devices are supported by (compatible with) your APK, based on the attributes in your manifest.

If necessary, you can manually remove support for devices that have known compatibility issues. The supported devices are grouped into three categories:

  • Amazon Fire phones and tablets: Shows the Fire phones and tablet support for your app. See the Tablet Device Specifications for more details. By default, device support for your uploaded APK is turned on for all Amazon Fire Phone and Fire Tablet devices, and for all non-Amazon Android devices.
  • Amazon Fire TV devices: Shows the Fire TV device support for your app. For details on Fire TV device names, see Fire TV naming conventions; for specifications, see Device Specifications for Fire TV.

  • Non-Amazon Android devices: Shows Android devices on which your app could be installed through the Amazon Appstore for Android app. This option provides additional distribution avenues for your app (and is especially helpful if your app is only available in the Amazon Appstore, not on Google Play). Within this non-Amazon Android devices grouping, devices are sorted into three groups: Supported (compatible), Excluded (manually de-selected), and Unsupported (incompatible based on your manifest settings).

To adjust which devices are supported by your app, click Edit device support and update the devices indicated. Toggle device support on (green) or off (gray) as appropriate. Use the tabs at the top of the dialog to move between categories.

For example, if you're uploading a streaming media app designed for Fire TV devices, click Edit device support on the Amazon Fire TV devices row and select the appropriate device support options on the Amazon Fire TV tab:

Device support for Fire TV

To understand why a device isn't supported by your APK, move your mouse over the help icon Appstore help icon next to the device name in the Device Support dialog box, as shown in the following image.

Device Support reasons why

For additional information about supported devices for your APK, see the following:

For non-Amazon devices, at the bottom of the Device Support dialog, there's an option for All other Android devices. The Non-Amazon Android devices can be toggled on or off as a whole, or you can manually adjust device support. This setting allows your app to be distributed to any other Android devices, including future compatible Android devices. New devices are added regularly based on device popularity. Through manifest filtering, the Appstore automatically determines the device's compatibility.

If you turn off "All other Android devices," you change your compatibility strategy from a blacklisting approach to a whitelisting approach for non-Amazon devices. In other words, your APK won't be compatible by default on those devices; instead, you'll need to manually select which third-party devices your APK will support.

To add an additional APK for the same app, see the next section, Add Multiple APKs for the Same App.

Add Multiple APKs for the Same App

When uploading multiple APKs, make sure each APK has the same package name in the manifest; however, each individual APK should have a unique versionCode in your Gradle build file.

When you add multiple APKs, because each APK can only be available for a single device, you have to remove support for devices from your first APK that you want to be available for the additional APKs. The following step-by-step instructions and screenshots will clarify this selection process.

To upload multiple APKs:

  1. If you haven't already uploaded your first APK, upload it by dragging the APK into the APK Files box.
  2. For the first APK you uploaded, next to "Supported Devices," click Edit and remove support for devices that you plan to target with your second APK.

    For example, suppose you have two APKs for your Fire TV app — "APK1" and "APK2". With APK1, you want to target all Fire TV devices except Fire TV (Gen 3). For APK1, click Edit next to "Supported Devices" in the APK File section. In the Device Support dialog box that appears, clear the check box next to "Fire TV (Gen 3)." This will make Fire TV (Gen 3) available for APK2 to target. If you don't remove the device support from the first APK, you won't be able to target it with the second APK.

    Removing device support from the first APK
    In this scenario, we removed support for Fire TV (Gen 3) because we want to select it with our second APK

    Note that if you're updating an existing APK, when you clear the check box next to some supported devices, you may see a "Reduced device support" warning. This warning lets you know that you're shrinking the number of supported devices for your app. Customers who previously installed your app on those devices (now unsupported by this APK) won't get the update. (You can read more in Warning: Reduced device support.) Since you're uploading multiple APKs, you can disregard this notice. After you upload another APK and target these devices removed from your first APK, the warning will no longer be applicable.

  3. (Optional) Give your APK a recognizable alias to distinguish it from the next APK you upload.
  4. Drag another APK file into the APK Files box. Optionally, change the alias for the new APK you uploaded to distinguish it from the first APK.

    When you drag another APK into the APK Files tab, the devices supported by the first APK are unavailable for the second APK — because two APKs can't be installed on the same device. Under the greyed-out devices, you should see the phrase "Targeted by another APK in current or prior version." ("Targeted" just means that you selected support for the device with your app.) Remember this rule: Multiple APKs cannot be installed on the same device. With the second APK, you can select support for devices not already selected by the first APK.

    Continuing with our previous example, suppose you upload "APK2" and want Fire TV (Gen 3) to support this APK. You already cleared support for this device with the previous APK, so it should now be selectable with this second APK.

    Fire TV (Gen 3) can be selected because you didn't already select support for it with the previous APK. The other devices have a gray X, meaning they are unavailable to be supported by this APK because they are already supported by the previous APK.

    With multiple APKs, the Amazon Appstore does not automatically assign the APK based on the API level or versionCode(unlike with Google Play). You must manually select the supported devices when uploading multiple APKs.

  5. When finished, click Save.

    You can add more than two APKs per app. Continue adding as many APKs as desired.

Troubleshooting Common Errors

This section provides troubleshooting information related to APK submissions on the APK Files tab.

Error: Duplicate package name

When uploading an APK, you see the following error:

"Failed to upload APK. The package name of the uploaded APK, com.amazon.android.yourapp, is already in use by an app owned by a different developer. Please contact us for more information.

First, check to make sure that you have not uploaded this APK file on another Amazon developer account as either an app submission or Live App Test. If you haven't uploaded this same APK under another account, go to Support > Contact Us and report the issue, noting the package name.

Note that when using development environments such as Unity or pre-existing manifest files, it's possible that your app’s package name will have a placeholder value that should be changed prior to submission. The package name of your APK file must be unique to the app you are publishing and is usually in the format of com.companyname.appname.

If you have an association with a developer or publishing company that might have uploaded your app for Live App Testing, contact your development partner to confirm that they have not submitted your app’s APK file on their account. If they have, ask them to end the current Live App Test. Then contact us with the package name to resolve the issue.

Warning: Reduced device support

When adjusting device support for an APK, you see a warning that says the following:

Device support has been reduced from the previous version. Some existing customers will not be able to upgrade. To resolve manifest conflicts, Amazon recommends editing the manifest to retain your current device support.

This message means that, with your newly uploaded APK, you have introduced new attributes in your manifest or build.gradle file that shrink the number of compatible devices. Most commonly, you may have incremented the API level, which reduces the number of devices that can support the update. As such, the Appstore is warning you that some devices may not be able to install this update.

For example, suppose you publish an APK with manifest attributes that require at minimum API level 19, and customers with a device supporting API level 19 (but not support for any level greater) install the app. Later, you update the app with new features or permissions requiring APK level 22 as a minimum. This new update will be incompatible with the previous version of the app the customer (with API level 19) installed. As a result, the customer will not see that an update is available.

Target device not available

When uploading a new APK, you see a message that says a particular device is not supported for your APK. The message might be as follows:

Your APK manifest requires capabilities not present on this device.
android:minSdkVersion = '22'; device requires '15'

To see the reason the device isn't supported, move your mouse over the help icon next to the device name in the Device Support dialog box. See Adjust Device Support for your APK above for more details. The incompatibility could be due to the API level, OpenGL compression format, CPU, screen size and density, device features, or even other factors about your app such as lack of availability in the geographic locale.

Targeted by another binary in the current version

If you're uploading multiple APKs, the device might already be supported by another APK. If so, when you move your mouse over the unsupported device, it says:

Targeted by another binary in the current version.

Multiple APKs cannot support the same device. You'll need to edit the device support for one APK so that you can select support for the device with the other APK. See Add Multiple APKs for the Same App for step-by-step details. See Multiple APKs for the Same Application Listing for a more conceptual background.

Next Steps

Go to the next step: Step 8: Submit Your App and Check Status.