Glossary (for App Submission Terms)

app
Your app as shown in the Appstore. A single app can have multiple APKs designed for different devices or locales.
APK
Android Package Kit. The file that gets downloaded to a device when a user installs your app from the Appstore.
binary
Alternate name for APK, currently used in the user interface of the Developer Portal submission console. "Binary targeting" or "device targeting" refers to filtering the devices available for your APK based on the manifest.
build.gradle file
A file in the APK where build dependencies are declared. The build.gradle file indicates the minSdkVersion and versionCode, which influence the Appstore's filtering logic that determines device compatibility. Note that there are 2 build.gradle files in each Android Studio project. One is a project-level configuration file (in the project's root directory); the other is an app-level configuration file (in the folder called app). For device filtering, all manifest-related configuration is in the app-level build.gradle file.
compatibility
uitability of your APK for the device, based on the API level, features, and other attributes in the manifest and build.gradle file. If your app isn't compatible with a device, the Appstore won't let users install it on their device.
device
The tablets, TV, or other devices where the APK is installed. The list of supported devices shown for your APK include both Amazon and Android devices, because Amazon apps can actually be installed (sideloaded) on Android devices through the Amazon Appstore for Android app.
device filtering
The process of automatically determining which devices your app can be installed on, based on the features, API levels, and other attributes in the APK manifest and build.gradle file. The features declared in the manifest (and build.gradle file) act as filters that determine which devices your app is compatible with. For details on Amazon's supported filters, see Manifest Filters Supported by the Appstore.
device targeting
Similar to filtering but refers to actively designing your app for compatibility with a particular device. When you upload multiple APKs, there is no automatic filtering that determines device support for the additional APKs. You manually select which devices each APK supports. This manual selecting of device support with multiple APKs is sometimes referred to as device targeting.
Gradle
The build system Android uses to gather dependencies and package up the APK.
manifest
A required file in your APK that describes the features and activities in your app. The manifest and build.gradle file are used to determine which devices your app is compatible with.
package name
The package attribute in the manifest provides a unique identifier for your app in the Appstore. The package name for your app must remain the same and cannot change with new releases. Multiple APKs for the same app should use the same package name for each APK. Different application listings, however, should have different package names. The package name must not include amazon in the name.