Is there a way to crosscompile emulator for arm64 ?

101 views
Skip to first unread message

Yoan Lefevre

unread,
Jun 28, 2019, 10:56:33 AM6/28/19
to Android Building
Hello all,

I tried to post this message on the Android Emulator group, but as there is not activity since 2017, I have the weird feeling I will not get anything there ^^. So here is my problem...

Regarding some needs on a project (scaling + third parties only available in arm64), I must run an arm64 emulated device. I saw there and there that the arm64 image based used with x86 emulator are not really efficient, and people used to go with x86 image based if this solution meets their requirements (which here, is not). Facing this issue, I was wondering if there were a possibility to rebuild emulator for an arm64 host, and if it was interesting (on a performance point of view) to run an arm64 image instance with it ? 

While waiting for further info, I will dig into the original x86 emulator for an arm64 image based, to see by myself if the performance are really bad or not...

Thanks !

Regards,
Yoan Lefevre

Igor Kukushkin

unread,
Jun 28, 2019, 11:09:41 AM6/28/19
to android-...@googlegroups.com
Hello,
For a very dirty workaround, you may find armtranslator (used in vbox86, genymotion and in a bunch of noname x86 hdmi sticks) capable of running some ARM apps with decent performance. Running the whole system (even trimmed down to Go-style system) would result in penalties ranging in 5-30x, even boot would take ages and you still get the equivalent of very early cortex core.

As for ARM-on-ARM, right now I believe there are no open products capable of that AND capable of bootstrapping AOSP (check Xvisor for example), but I would really love to find it wrong.

Another option would be to buy cheap but powerful boards (ODROID in 4gb edition?) and tune them (multiple viewports through Surfaceflinger or Condroid-like approach) , that would save on development time, but it doesn't scales well (think you'll have a year of amortizing costs with $10/month).

(I'm currently investigating what are possible opensource options for lightweight on-device Android virtualization on ARM, color me surprised anyone?)

--
best,
Igor

--
--
You received this message because you are subscribed to the "Android Building" mailing list.
To post to this group, send email to android-...@googlegroups.com
To unsubscribe from this group, send email to
android-buildi...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-building?hl=en

---
You received this message because you are subscribed to the Google Groups "Android Building" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-buildi...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-building/844dcf81-74ce-4430-bfed-5884eab7ed97%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Yoan Lefevre

unread,
Jul 3, 2019, 11:28:59 AM7/3/19
to android-...@googlegroups.com
Hello Igor,

Thanks for your reply. 
I faced the fact that emulating arm based image over the x86 emulator is indeed a terrible thing... 
As armtranslator may not fit in the requirements, and as I may be a little bit stubborn, I am trying to build the entire emulator over an ARM host... And the prebuilt dependencies are not helping me with that. Even though I succeeded in managing most part of them, I am litteraly stuck with the Qt5 dependencies which seems to come... Out of nowhere !
They are under prebuilts/android-emulator-build/qt, and they do not look at all like normal Qt lib I've ever heard of, because they all are with the name libQt5xxxAndroidEmu.so.

I tried to find where these sources could be to rebuild them with the arm toolchain but I couldn't succeeded in finding them.

Is that normal ? Does Google devs made some fork concerning Qt libs with specific patch for the emulator, and they do not provide any source about this, thanks to the Qt commercial licensing ? 

Does anyone has any idea about this?

Thanks for helping,

Regards,  

Yoan Lefevre

Software Engineer

www.eshard.com



Reply all
Reply to author
Forward
0 new messages