Developer Console

Optimizing your apps for Windows 11 and Fire device target architecture

Behyad Ebadifar Aug 22, 2023
Share:
Appstore on Windows 11 Best practices
Blog_Header_Post_Img

Important: Amazon Appstore on Windows 11 will no longer be supported after March 5, 2025. Read the blog for more information.

 

Existing apps in the Amazon Appstore can now run on Windows 11 through the Windows Subsystem for Android™️ (WSA). While most Windows devices use either Intel or AMD processors based on x86 architecture, most Android applications are built with support for ARM Application Binary Interface (ABI). The Windows Subsystem for Android (WSA) uses Intel Bridge Technology (IBT) to emulate ARM® applications on x86 based processors.

Android apps built with ARM binaries run on WSA through an emulation layer within Windows 11. In order to address additional performance overhead from the emulation process, we recommend providing an x86 and ARM version of your app which will allow apps to be executed directly on the native hardware. This article covers how to target x86 binary files to optimize your app across Amazon devices and supported PCs. By targeting Windows devices with an app bundle/apk containing the target architectures you will help your customers have a great experience with your app wherever they choose to install it.

Target architecture in Unity:

If your game uses a compatible version of the Unity game engine, follow these steps to enable x86/x86-64 Android targets:

  1. Go to Player Settings > Other Settings > Configuration > Scripting Backend and select IL2CPP from the dropdown menu to enable the IL2CPP Scripting Backend.

  2. Enable x86 Android targets for your version of Unity:
    1. Unity 2018 and earlier: Go to Player Settings > Other Settings > Target Architecture, and select the x86 checkbox.
    2. Unity 2019 Long Term Support (LTS) release and later: go to Player Settings > Other Settings > Target Architectures and enable both x86 (ChromeOS) and x86-64 (ChromeOS).

Demo on enabling x86 Android targets for your version of Unity:

Target architecture Gradle/ndk-build/CMake:

Adding support for x86 and x86_64 can impact the size of native libraries. We recommend taking advantage of Android App Bundle to minimize the size impact of including support for 4 architectures (arm64-v8a, armeabi-v7a, x86, x86_64). You can submit your aab binary for both Fire tablets and Windows 11 devices.

Ensure each app bundle has a unique version code (configure versioning)

  • Unity: Player Settings > Other Settings > Identification

Configure versioning

Submit app in the Amazon Developer Console

The Android App Bundles format was announced by Google as a mandatory format for new Google Play app submissions beginning August 2021. We recommend submitting an AAB binary when targeting multiple ABIs, allowing files to be optimized for size before they are downloaded and installed across devices. Once you have prepared your app for Windows devices, you can submit your app to target Windows 11. If you are not able to submit an AAB build and are concerned with the size of your APK file, the Developer Console provides developers the option to add multiple binaries for the same app. To avoid errors during app submission when using multiple binaries, ensure each package has a unique version code and use the same package name for each binary within the same application listing:

Example of unique version code and same package name

Conclusion

By supporting both ARM and X86 ABIs to target Amazon devices and Windows 11, you can optimize your app so that your customers can have a seamless cross-platform user experience. To learn more about optimizing your app performance for Windows 11, be sure to read our related articles on mapping inputs with WSA, improving startup times, and the launch announcement for Amazon Appstore for Windows 11.

Related resources  

 

Related articles

Sign up for our newsletter

Get the latest developer news, product releases, tutorials, and more.