Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
272 views
in Technique[技术] by (71.8m points)

android - Should I choose x86_64 for testing rather than the "recommended" x86 for virtual device system image?

I'm totally new to Android programming. I have Android Studio 3.0.1 running on Kubuntu Xenial 64-bit on a desktop with a Haswell processor.

I am configuring virtual devices. I am thinking of doing that corresponding to the physical Android devices I own. However, I notice that x86 images are placed in the "Recommended" pane:

enter image description here

compared to the x86_64 images of identical API version and target:

enter image description here

#4 of https://developer.android.com/studio/run/managing-avds.html#createavd seems to indicate that x86 images are recommended because they "run the fastest in the emulator."

A few of my old devices are x86 but the newer ones are x86_64. Should I choose x86_64 accordingly though it is not in the "Recommended" pane?

Does this make a difference when I am going to distribute APKs on Google Play Store in the future?

question from:https://stackoverflow.com/questions/47450005/should-i-choose-x86-64-for-testing-rather-than-the-recommended-x86-for-virtual

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

related to this answer By default, all 32-bit applications run without a glitch on 64-bit processors, but might run slower than applications tuned to run on 64-bit processors.

and according with this article

With Google’s recent release of its x86 64-bit Android 5.0 emulator image, developers can create 64-bit apps for Intel Atom processor-based devices.

Android 32-bit vs 64-bit

Many 64-bit platforms today, including Solaris, AIX*, HP-UX*, Linux*, OS X*, BSD, and IBM z/OS*, use an LP64 model. Since Android is based on the Linux kernel, Android 64-bit platforms also use the LP64 model.

Intel 64-bit CPUs have a 32-bit compatibility mode. While 32-bit applications will run on 64-bit processors, compiling with a 64-bit optimizing compiler allows them to take advantage of the architectural benefits of a 64-bit environment.

Android with 64-bit technologies for Intel Atom processor-based platforms can help developers to optimize their applications now. Building Android applications for 64-bit is just as easy as building traditional 32-bit Android applications. You can now use the official Android 64-bit emulator to run and debug 64-bit apps.

Maybe this articles can help you to understand the difference between this system images.

Update

Google now encourage to use x86 emulator like you can see in this image

enter image description here

The difference is that when using x86 images, it now uses fast, hardware-accelerated virtualization under the right conditions (HAXM) so it doesn't feel like there's a fat middle layer anymore.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...