You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I discovered recently that the Android emulator was updated several years back to support running ARM binaries on x86 Android.
Describe the solution you'd like
So, with that in mind, is there still value in building for x86-64, by default? Or, said another way, is there value in continuing to target x86-64 as well as arm64 beyond support for the Android emulator on x86?
If not, should x86-64 be removed from default builds?
Describe alternatives you've considered
Status quo.
Additional context
I'm assuming that x86-64 builds are only done for the Android emulator; obviously, if there are other reasons, this point is moot.
The text was updated successfully, but these errors were encountered:
AIUI, the benefit is speed. ARM on x86 requires CPU-level emulation, which is possible, but not as fast as native x86. Given that the vast majority of Android developers will also be x86 users on the desktop, I wouldn't want to make x86 development unworkably slow (or unreliable) for the sake of making our builds marginally faster.
I think there is also a historical use case for x86/x86_64 builds for Intel Atom hardware, but don't think either of the users of those devices are also Briefcase users 😝
See also beeware/briefcase#808 for a request for configuring the ABIs that are built by default.
Given that the vast majority of Android developers will also be x86 users on the desktop, I wouldn't want to make x86 development unworkably slow (or unreliable) for the sake of making our builds marginally faster.
In the Android PR I linked, they do call out speed considerations in that they explicitly optimized the system images to run everything except for the ARM binaries using native x86. So, while I haven't really stressed it, the slowdown should not be nearly as remarkable as full ARM emulation is. And furthermore, if none of the packages contain binaries, then nothing should be emulated.
Additionally, there is also the space consideration I didn't mention; I've noticed that when users hit the space limits, removing x86 can be a solution.
That page only mentions Android 11, while our minimum is currently Android 6. So unless they've backported this feature, we won't be able to rely on it yet.
For the space consideration, we could remove armeabi-v7a by default, as long as there's an easy way to put it back (beeware/briefcase#808).
What is the problem or limitation you are having?
I discovered recently that the Android emulator was updated several years back to support running ARM binaries on x86 Android.
Describe the solution you'd like
So, with that in mind, is there still value in building for x86-64, by default? Or, said another way, is there value in continuing to target x86-64 as well as arm64 beyond support for the Android emulator on x86?
If not, should x86-64 be removed from default builds?
Describe alternatives you've considered
Status quo.
Additional context
I'm assuming that x86-64 builds are only done for the Android emulator; obviously, if there are other reasons, this point is moot.
The text was updated successfully, but these errors were encountered: