Troubleshooting Index for Windows
Important: Amazon Appstore on Windows 11 will no longer be supported after March 5, 2025. Read the blog for more information.
If your app is targeting Windows 11 devices, but you have encountered an issue, use this page to find potential solutions. If you are creating a new app and looking for guidance and best practices, see the Windows Compatibility Guide.
Tip: Try looking up the object of the issue, rather than the behavior. For example, look under 'B' for button issues, rather than 'U' for unresponsive button.
Note: To target Windows 11 devices, you must submit an Android app. Mobile web apps cannot target non-Amazon Android devices or Windows Subsystem for Android.
A
- Accelerometer features don't work
- Cause: Accelerometer features are currently unsupported on Windows Subsystem for Android.
- Solution: For unsupported hardware and software features, follow these guidelines:
- Add
android: required="false"
to theuses-feature
declaration in your app manifest. - Disable the feature in your app. If you are using the same APK for your mobile app, use conditional logic to disable the unsupported feature for Windows Subsystem for Android.
- Add
- Accessibility features don't work
- Cause: Accessibility features are currently unsupported on Windows Subsystem for Android.
- Solution: For unsupported hardware and software features, follow these guidelines:
- Add
android: required="false"
to theuses-feature
declaration in your app manifest. - Disable the feature in your app. If you are using the same APK for your mobile app, use conditional logic to disable the unsupported feature for Windows Subsystem for Android.
- Add
- Ads in your app don't appear
- Cause: The ad SDK used for in-app ads might not be compatible with Windows Subsystem for Android.
- Solution: If the ad SDK is incompatible, disable it using the following guidelines:
- Disable all mobile ad units, including banners, interstitials, and ad rewards (which grant a user an in-app reward for watching an ad). For an example, see Disable unsupported ad SDKs.
- Disable features in your app that depend on ad rewards. For example, if a user must click a button to watch an ad for a reward, disable or remove the button.
- If you are using the same APK for your mobile app, use conditional logic to make these changes only for Windows Subsystem for Android.
- Ad audio plays with a blank screen
- Cause: The ad SDK used for in-app ads might not be compatible with Windows Subsystem for Android.
- Solution: If the ad SDK is incompatible, disable it using the following guidelines:
- Disable all mobile ad units, including banners, interstitials, and ad rewards (which grant a user an in-app reward for watching an ad). For an example, see Disable unsupported ad SDKs.
- Disable features in your app that depend on ad rewards. For example, if a user must click a button to watch an ad for a reward, disable or remove the button.
- If you are using the same APK for your mobile app, use conditional logic to make these changes only for Windows Subsystem for Android.
- Ads in your app don't award bonus points or other consumable items after viewing
- Cause: The ad SDK used for in-app ads might not be compatible with Windows Subsystem for Android.
- Solution: If the ad SDK is incompatible, disable it using the following guidelines:
- Disable all mobile ad units, including banners, interstitials, and ad rewards (which grant a user an in-app reward for watching an ad). For an example, see Disable unsupported ad SDKs.
- Disable features in your app that depend on ad rewards. For example, if a user must click a button to watch an ad for a reward, disable or remove the button.
- If you are using the same APK for your mobile app, use conditional logic to make these changes only for Windows Subsystem for Android.
- Ads cause redirection to Google Play Store
- Cause: The ad SDK used for in-app ads might not be compatible with Windows Subsystem for Android.
- Solution: If the ad SDK is incompatible, disable it using the following guidelines:
- Disable all mobile ad units, including banners, interstitials, and ad rewards (which grant a user an in-app reward for watching an ad). For an example, see Disable unsupported ad SDKs.
- Disable features in your app that depend on ad rewards. For example, if a user must click a button to watch an ad for a reward, disable or remove the button.
- If you are using the same APK for your mobile app, use conditional logic to make these changes only for Windows Subsystem for Android.
- Arrow keys on keyboard don't work or have unexpected behavior
- Cause: The keystrokes might not be automatically handled by the framework.
- Solution: Follow the Android guidelines for keyboard input. To optimize for keyboard input, see the following Android developer guides:
- Aspect ratio doesn't look correct
- Cause: Your app might not support aspect ratios typical of larger devices.
- Solution: Support multiple aspect ratios in your app, such as 16:9, 16:10 and 3:2.
- Audio device connected to computer is not recognized in app
- Cause: Apps cannot detect connected audio devices on Windows Subsystem for Android.
- Solution: For unsupported hardware and software features, follow these guidelines:
- Add
android: required="false"
to theuses-feature
declaration in your app manifest. - Disable the feature in your app. If you are using the same APK for your mobile app, use conditional logic to disable the unsupported feature for Windows Subsystem for Android.
- Add
- Audio continues to play even when the app is minimized, when the screen is locked, or the device is in hibernation
- Cause: Windowing mechanisms or activity lifecycle might not be optimized for a Windows device.
- Solution: Use the following guidelines:
- To support windowing mechanisms, see the Android developer guide Multi-window support.
- To save and load the app state correctly and consistently, handle the activity lifecycle as it relates to multi-window mode. For details, see the Android developer guide Activity lifecycle in multi-window mode.
- Audio isn't recorded
- Cause: Recording system audio is currently unsupported on Windows Subsystem for Android.
- Solution: Disable the system audio recording feature in your app for Windows Subsystem for Android. Note: Microphone recording is supported and should work as expected.
B
- Barometer features don't work
- Cause: Barometer features are currently unsupported on Windows Subsystem for Android.
- Solution: For unsupported hardware and software features, follow these guidelines:
- Add
android: required="false"
to theuses-feature
declaration in your app manifest. - Disable the feature in your app. If you are using the same APK for your mobile app, use conditional logic to disable the unsupported feature for Windows Subsystem for Android.
- Add
- Bluetooth connection doesn't work
- Cause: On Windows Subsystem for Android, Bluetooth appears available, but it is currently inoperative.
- Solution: For hardware features available on Windows Subsystem for Android that appear available, but are inoperative, you might need to add logic to your app to not use the feature when your app runs on Windows Subsystem for Android.
- Brightness setting doesn't work
- Cause: Brightness setting is currently unsupported on Windows Subsystem for Android.
- Solution: For unsupported hardware and software features, follow these guidelines:
- Add
android: required="false"
to theuses-feature
declaration in your app manifest. - Disable the feature in your app. If you are using the same APK for your mobile app, use conditional logic to disable the unsupported feature for Windows Subsystem for Android.
- Add
- Button in app is unresponsive
- Cause 1: This might be caused by an
ActivityNotFoundException
. - Solution 1: Handle exceptions gracefully before porting app your app to Windows devices.
- Cause 2: If you use an ad SDK for in-app ads, it might be incompatible with Windows. The ad isn't properly fulfilled or delivered on Windows Subsystem for Android, which causes unresponsive buttons.
- Solution 2: If the ad SDK is incompatible, disable it using the following guidelines:
- Disable all mobile ad units, including banners, interstitials, and ad rewards (which grant a user an in-app reward for watching an ad). For an example, see Disable unsupported ad SDKs.
- Disable features in your app that depend on ad rewards. For example, if a user must click a button to watch an ad for a reward, disable or remove the button.
- If you are using the same APK for your mobile app, use conditional logic to make these changes only for Windows Subsystem for Android.
- Cause 3: If the unresponsive button is related to a device hardware feature or software feature, the feature might not be supported on Windows Subsystem for Android.
- Solution 3: For unsupported hardware and software features, follow these guidelines:
- Add
android: required="false"
to theuses-feature
declaration in your app manifest. - Disable the feature in your app. If you are using the same APK for your mobile app, use conditional logic to disable the unsupported feature for Windows Subsystem for Android.
- Add
C
- Camera features don't work
- Cause: You might not be targeting the available camera on the Windows device.
- Solution: Follow these guidelines for using a camera on Windows Subsystem for Android.
- Use Android's
CameraManager
APIs to check for available camera devices before attempting to use a device's camera. Unlike mobile devices, Windows devices might have a single camera, multiple cameras, no camera, or an external camera. The Amazon Appstore recommends handling each possible case. - Check which preview sizes are supported by the Windows device's cameras and use those for taking pictures and showing previews.
- Test your app's orientation for landscape devices like laptops and adjust the rotation accordingly.
- Use Android's
- Camera error: "Your hardware doesn't support this application"
- Cause: This issue is caused when a legacy native library exists in the Assets/Plugins/Android/lib/armeabi folder. When you build a native library, outputs for x86, armeabi, armeabi-v7a, and others are created by default. However, support for armeabi was deprecated in Unity 5.x.
- Solution: Make sure not to use armeabi with Unity 5.x or higher.
- Camera takes pictures in the wrong orientation
- See Pictures taken with camera are in the wrong orientation.
- Camera preview pictures don't appear
- Cause: You might not be using a preview size supported by the Windows device's camera.
- Solution: Follow these guidelines for using a camera on Windows Subsystem for Android.
- Use Android's
CameraManager
APIs to check for available camera devices before attempting to use a device's camera. Unlike mobile devices, Windows devices might have a single camera, multiple cameras, no camera, or an external camera. The Amazon Appstore recommends handling each possible case. - Check which preview sizes are supported by the Windows device's cameras and use those for taking pictures and showing previews.
- Test your app's orientation for landscape devices like laptops and adjust the rotation accordingly.
- Use Android's
- Compass features don't work
- Cause: Compass features are unsupported on Windows Subsystem for Android.
- Solution: For unsupported hardware and software features, follow these guidelines:
- Add
android: required="false"
to theuses-feature
declaration in your app manifest. - Disable the feature in your app. If you are using the same APK for your mobile app, use conditional logic to disable the unsupported feature for Windows Subsystem for Android.
- Add
- Content in app is cut off or not visible on launch
- Cause: Initial launch bounds might need to be set.
- Solution: Follow the recommendations in the Android developer documentation for Initial launch size.
- Content in app is cut off or not visible after resizing window
- Cause: Resizing the window changed the content bounds.
- Solution: Follow the recommendations in the Android developer documentation for Content bounds.
- Ctrl key based shortcuts don't work (for example, Ctrl-C, Ctrl-V, Ctrl-X, Ctrl-Z for copy, paste, cut, undo)
- Cause: Keystroke might not be automatically handled by the framework.
- Solution: Follow the Android guidelines for keyboard input. To optimize for keyboard input, see the following Android developer guides:
D
- Device pairing doesn't work
- See Bluetooth connection doesn't work.
- Drag and drop with the mouse doesn't work
- Cause: Mouse input might not be automatically handled by the framework.
- Solution: Follow the Android guidelines for mouse input. To optimize for mouse input, see the following Android developer guides:
E
- Earphones not detected
- Cause: Windows Subsystem for Android can't detect earphones, headphones, or other connected audio devices.
- Solution: If earphones are required in your app, and you use the
isAudioConnected
method for mandatory verification, skip or ignore this mandatory verification for your app on Windows Subsystem for Android. - For more information on how to handle audio devices, see Audio device connected to computer is not recognized in app.
- Encrypted videos with Widevine L1 or L2 DRM don't play
- See Videos encrypted with Widevine L1 or L2 DRM don't play.
- Enter key doesn't respond or has unexpected behavior
- Cause: Keystroke might not be automatically handled by the framework.
- Solution: Follow the Android guidelines for keyboard input. To optimize for keyboard input, see the following Android developer guides:
F
- Facebook authentication doesn't work
- Cause: You might be using an older version of the Facebook SDK for Android.
- Solution: Use the following guidelines:
- Upgrade to version 8.2.0 or later of the Facebook SDK for Android.
- Use Custom Tabs, not WebViews.
- Ensure that the
LoginBehavior
enum is not set toWEB_VIEW_ONLY
. - Remove references to the Facebook SDK classes
CustomTabMainActivity
andCustomTabActivity
. - Add an intent filter in your manifest and configure it for Custom Tabs. For details, see the Facebook developer documentation Edit Your Resources and Manifest.
- File discovery or file access fails
- Cause: Your app might not use scoped storage. Scoped storage is an Android feature introduced in Android 10 and enforced in Android 11. With scoped storage, apps only have access to an app-specific directory on external storage and media that the app created.
- Solution: To handle scoped storage in your app, see the Android developer guide on Android storage use cases and best practices.
- Files generated by app fail to save
- Cause: The name of the file might be invalid. Android has introduced changes where a file won't be saved if its name contains an invalid character. In earlier versions of Android, the invalid characters were replaced. However, in newer versions of Android, if your app tries to save a file with an invalid character in its name, the file will fail to save.
- Solution: Make sure there are no invalid characters in the names of the files your app saves. For example, a file with a timestamp in the name, where the timestamp includes a colon
:
, would fail to save. - Framerate is poor
- Cause: Your app framerate might be optimized for a mobile device, which is less capable than a Windows computer.
- Solution: Users on a Windows computer can likely run apps at higher framerates than mobile users. Set the maximum framerate to at least at 60 FPS or remove the framerate limits altogether.
G
- Google Play services, app redirects
- Cause: Your app might check the device's manufacturer ID and redirect to Google Play services if the manufacturer is not Amazon. Windows is manufactured by Microsoft, not Amazon, which causes this redirect to happen on Windows devices.
- Solution: Don't use manufacturer ID to detect the device. Instead, check for the specific service. For guidelines, see Handle unsupported Google Play services.
- Google+ sign-in doesn't work
- Cause: Google+ sign-in was deprecated in 2019. Using the discontinued feature causes issues in your app on Windows Subsystem for Android.
- Solution: Remove references to Google+ login in your code.
- Gyroscope features don't work
- Cause: Gyroscope features are unsupported on Windows Subsystem for Android.
- Solution: For unsupported hardware and software features, follow these guidelines:
- Add
android: required="false"
to theuses-feature
declaration in your app manifest. - Disable the feature in your app. If you are using the same APK for your mobile app, use conditional logic to disable the unsupported feature for Windows Subsystem for Android.
- Add
H
- Headphones not detected
- See Earphones not detected.
- Highlight doesn't appear on selected item
- Cause: Highlighting the selected an item using a keyboard might not be automatically handled by the framework.
- Solution: Follow the Android guidelines for keyboard input. To optimize for keyboard input, see the following Android developer guides:
- Hover effects with the mouse don't work
- Cause: Mouse input might not be automatically handled by the framework.
- Solution: Follow the Android guidelines for mouse input. To optimize for mouse input, see the following Android developer guides:
I
- In-app ads don't appear
- See Ads in your app don't appear.
- In-app ads don't award bonus points or other consumable items after viewing
- See Ads in your app don't award bonus points or other consumable items after viewing.
- In-app purchasing (IAP) doesn't work as expected
- Cause: It's possible your app isn't properly integrated with the IAP API.
- Solution: Make sure you have the Appstore SDK (which contains the IAP API) properly integrated in your app. If your app uses Google Play Billing, follow the guide Migrate from Google Play Billing. Otherwise, follow the guide to Implement Appstore SDK IAP into your app.
- Infrared (IR) features don't work
- Cause: IR features are currently unsupported on Windows Subsystem for Android.
- Solution: For unsupported hardware and software features, follow these guidelines:
- Add
android: required="false"
to theuses-feature
declaration in your app manifest. - Disable the feature in your app. If you are using the same APK for your mobile app, use conditional logic to disable the unsupported feature for Windows Subsystem for Android.
- Add
K
- Keyboard navigation doesn't work or has unexpected behavior
- See Arrow keys on keyboard don't work or have unexpected behavior.
L
- Letterboxing occurs in the app (bars appear on the top and bottom of the window)
- Cause: The aspect ratio of the display window isn't aligned with the content. The window is wider than it is high, or horizontally longer. Bars are placed at the top and bottom of the window. The bars may be light or dark themed depending on the system settings selected.
- Solution: Letterboxing is a feature that occurs to preserve the aspect ratio of the content when the app is snapped, maximized, or manually resized.
- Light sensor doesn't work
- Cause: Light sensor features are unsupported on Windows Subsystem for Android.
- Solution: For unsupported hardware and software features, follow these guidelines:
- Add
android: required="false"
to theuses-feature
declaration in your app manifest. - Disable the feature in your app. If you are using the same APK for your mobile app, use conditional logic to disable the unsupported feature for Windows Subsystem for Android.
- Add
- Local network, connecting to devices running the app on same network fails
- Cause: Advanced network settings on Windows Subsystem for Android must be enabled for this feature to work.
- Solution: Enable advanced network settings on Windows Subsystem for Android.
- Login with Facebook or Google+ fails
- For Facebook, see Facebook authentication isn't working.
For Google+, see Google+ sign-in not working.
M
- MIDI devices don't connect
- Cause: MIDI device features are currently unsupported on Windows Subsystem for Android.
- Solution: For unsupported hardware and software features, follow these guidelines:
- Add
android: required="false"
to theuses-feature
declaration in your app manifest. - Disable the feature in your app. If you are using the same APK for your mobile app, use conditional logic to disable the unsupported feature for Windows Subsystem for Android.
- Add
- Mouse over effects don't work
- See Hover effects with the mouse don't work.
- Mouse right click doesn't work
- See Right click with mouse doesn't work.
N
- Near-Field Communication (NFC) features don't work
- Cause: NFC features are currently unsupported on Windows Subsystem for Android.
- Solution: For unsupported hardware and software features, follow these guidelines:
- Add
android: required="false"
to theuses-feature
declaration in your app manifest. - Disable the feature in your app. If you are using the same APK for your mobile app, use conditional logic to disable the unsupported feature for Windows Subsystem for Android.
- Add
P
- Phone network features don't work
- Cause: Phone network features are unsupported on Windows Subsystem for Android.
- Solution: For unsupported hardware and software features, follow these guidelines:
- Add
android: required="false"
to theuses-feature
declaration in your app manifest. - Disable the feature in your app. If you are using the same APK for your mobile app, use conditional logic to disable the unsupported feature for Windows Subsystem for Android.
- Add
- Pictures taken with camera are in the wrong orientation
- Cause: Camera problems can arise when the app can only run in portrait orientation, but the user runs it on a landscape screen. In this case, the preview, or the captured result, could be incorrectly rotated.
- Solution: Follow these guidelines for using a camera on Windows Subsystem for Android.
- Use Android's
CameraManager
APIs to check for available camera devices before attempting to use a device's camera. Unlike mobile devices, Windows devices might have a single camera, multiple cameras, no camera, or an external camera. The Amazon Appstore recommends handling each possible case. - Check which preview sizes are supported by the Windows device's cameras and use those for taking pictures and showing previews.
- Test your app's orientation for landscape devices like laptops and adjust the rotation accordingly.
- Use Android's
- Pillarboxing occurs in the app (bars appear on the sides of the window)
- Cause: The aspect ratio of the display window isn't aligned with the content. The window is narrower than it is wide, or vertically longer. Bars are placed at the sides of the window. The bars may be light or dark themed depending on the system settings selected.
- Solution: Pillarboxing is a feature that occurs to preserve the aspect ratio of the content when the app is snapped, maximized, or manually resized.
- Proximity sensor doesn't work
- Cause: Proximity sensor features are unsupported on Windows Subsystem for Android.
- Solution: For unsupported hardware and software features, follow these guidelines:
- Add
android: required="false"
to theuses-feature
declaration in your app manifest. - Disable the feature in your app. If you are using the same APK for your mobile app, use conditional logic to disable the unsupported feature for Windows Subsystem for Android.
- Add
R
- Right click with mouse doesn't work
- Cause: Mouse input might not be automatically handled by the framework.
- Solution: Follow the Android guidelines for mouse input. To optimize for mouse input, see the following Android developer guides:
S
- Selected item is not highlighted
- See Highlight not appearing on selected item.
- Sleep causes app to restart upon waking
- Cause: Windowing mechanisms or activity lifecycle might not be optimized for a Windows device.
- Solution: Use the following guidelines:
- To support windowing mechanisms, see the Android developer guide Multi-window support.
- To save and load the app state correctly and consistently, handle the activity lifecycle as it relates to multi-window mode. For details, see the Android developer guide Activity lifecycle in multi-window mode.
- Sound continues to play even when the app is minimized, when the screen is locked, or the device is in hibernation
- See Audio continues to play even when the app is minimized, when the screen is locked, or the device is in hibernation.
- Sound isn't recorded
- See Audio isn't recorded.
- Sound setting doesn't work
- Cause: Setting system sound is currently unsupported on Windows Subsystem for Android.
- Solution: Don't make requests to system settings to control the volume in your apps. Requests to the system settings for sounds aren't supported on Windows Subsystem for Android. To optimize for system settings related to sound, see the Android developer guide Working with fixed-volume devices.
- Step counting doesn't work
- Cause: Step counter and step detector features are unsupported on Windows Subsystem for Android.
- Solution: For unsupported hardware and software features, follow these guidelines:
- Add
android: required="false"
to theuses-feature
declaration in your app manifest. - Disable the feature in your app. If you are using the same APK for your mobile app, use conditional logic to disable the unsupported feature for Windows Subsystem for Android.
- Add
T
- Tab key doesn't respond or has unexpected behavior
- Cause: Keystroke might not be automatically handled by framework.
- Solution: Follow the Android guidelines for keyboard input. To optimize for keyboard input, see the following Android developer guides:
- Tool tips and hover text with the mouse don't work
- See Hover effects with the mouse don't work.
U
- UI is cropped on top left corner of screen
- Cause: An issue in Android 13 that impacts apps that have
targetSdkVersion
set to less than 4 and don't have theanyDensity
attribute set totrue
in the<supports-screens>
element in the app manifest. - Solution: Update your app to have
targetSdkVersion
greater than or equal to 4. For better compatibility across devices, and added privacy and security features, the Appstore recommends that you update your app to support API level 33, or the latest Android version. - UI doesn't appear properly scaled
- Cause: On a larger screen the UI elements might not appear appropriately sized.
- Solution: Adjust the size of the UI elements. HUDs should take up no more than 20% of the screen.
- Update popup displays in app
- Cause: Your app might be built for an older version of Android and the windowing mechanisms and activity lifecycle might not be optimized for a Windows device.
- Solution: Use the following guidelines:
- To support windowing mechanisms, see the Android developer guide Multi-window support.
- To save and load the app state correctly and consistently, handle the activity lifecycle as it relates to multi-window mode. For details, see the Android developer guide Activity lifecycle in multi-window mode.
- USB features don't work
- Cause: On Windows Subsystem for Android, USB features appear available, but they are currently inoperative.
- Solution: For hardware features available on Windows Subsystem for Android that appear available, but are inoperative, you might need to add logic to your app to not use the feature when your app runs on Windows Subsystem for Android.
V
- Videos encrypted with Widevine L1 or L2 DRM don't play
- Cause: Windows Subsystem for Android doesn't support Widevine L1 or L2.
- Solution: If possible, use Widevine L3 encryption.
- Volume control doesn't work
- See Sound setting doesn't work.
W
- Wi-Fi Direct doesn't work
- Cause: Wi-Fi Direct isn't currently supported on Windows Subsystem for Android.
- Solution: For unsupported hardware and software features, follow these guidelines:
- Add
android: required="false"
to theuses-feature
declaration in your app manifest. - Disable the feature in your app. If you are using the same APK for your mobile app, use conditional logic to disable the unsupported feature for Windows Subsystem for Android.
- Add
- Wi-Fi hotspots don't work
- Cause: Wi-Fi hotspots aren't currently supported on Windows Subsystem for Android.
- Solution: For unsupported hardware and software features, follow these guidelines:
- Add
android: required="false"
to theuses-feature
declaration in your app manifest. - Disable the feature in your app. If you are using the same APK for your mobile app, use conditional logic to disable the unsupported feature for Windows Subsystem for Android.
- Add
- Wi-Fi hotspots created by app (for hosting a LAN game or to transfer files) doesn't work
- See Wi-Fi hotspots don't work.
- Wi-Fi scanning doesn't work
- Cause: Windows Subsystem for Android uses virtual Wi-Fi and doesn't have visibility to direct Wi-Fi signals. Apps that scan for Wi-Fi signals won't see available Wi-Fi networks.
- Solution: For unsupported hardware and software features, follow these guidelines:
- Add
android: required="false"
to theuses-feature
declaration in your app manifest. - Disable the feature in your app. If you are using the same APK for your mobile app, use conditional logic to disable the unsupported feature for Windows Subsystem for Android.
- Add
- Widevine L1 or L2 DRM-encrypted videos aren't playing
- See Videos encrypted with Widevine L1 or L2 DRM don't play.
Last updated: Mar 05, 2024