Install ARM Binary Translation on x86 AVD

2,845 views
Skip to first unread message

Xun H.W

unread,
Feb 29, 2016, 1:55:55 PM2/29/16
to Android emulator development
I am trying to run Apps with native arm libraries on x86 avd (which is faster than ARM Avd )
but failed:(

this is what I am doing:
  1. create an avd with Intel atom x86 image, google api level 23
  2. grab libhondini from Nexus Player factory image, (basically /system/lib/arm/* , /system/bin/houdini & /system/lib/libhoudini.so)
  3. patch x86 AVD's system.img & ramdisk.img to enable native bridge(houdini)
  4. then boot avd and run App with only arm native lib included (like firefox, Skype, Wechat etc).

Native bridge seems to works:
02-25 15:04:11.990 1512 1620 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.tencent.mm/.ui.LauncherUI (has extras)} from uid 10007 on display 0
02-25 15:04:12.046 2586 2586 D houdini : [2586] Initialize library(version: 6.0.0_y.48180 RELEASE)... successfully.
02-25 15:04:12.048 1512 1524 I ActivityManager: Start proc 2586:com.tencent.mm/u0a55 for activity com.tencent.mm/.ui.LauncherUI
02-25 15:04:13.700 2586 2586 D houdini : [2586] Added shared library /data/app/com.tencent.mm-1/lib/arm/libstlport_shared.so for ClassLoader by Native Bridge.
02-25 15:04:13.703 2586 2586 E ActivityThread: Failed to find provider info for com.tencent.mm.coolassist.debugprovider
02-25 15:04:13.784 2586 2586 F libc : Fatal signal 11 (SIGSEGV), code 128, fault addr 0x0 in tid 2586 (com.tencent.mm)

 But App still fail to run, when check demsg there is a general protection fault 。
[ 366.571014] traps: com.tencent.mm[2586] general protection ip:b0f13dd1 sp:10011f20 error:30 in libhoudini.so[b0cfa000+3b4000]


Does anybody know what happens here, Is it possible to make it works?
Thanks 

Best,
Xun H.W

caof...@gmail.com

unread,
Jul 8, 2016, 5:13:08 AM7/8/16
to Android emulator development
在 2016年3月1日星期二 UTC+8上午2:55:55,Xun H.W写道:
> I am trying to run Apps with native arm libraries on x86 avd (which is faster than ARM Avd )
> but failed:(
>
>
> this is what I am doing:
> create an avd with Intel atom x86 image, google api level 23
> grab libhondini from Nexus Player factory image, (basically /system/lib/arm/* , /system/bin/houdini & /system/lib/libhoudini.so)patch x86 AVD's system.img & ramdisk.img to enable native bridge(houdini)then boot avd and run App with only arm native lib included (like firefox, Skype, Wechat etc).

Chih-Wei Huang

unread,
Jun 3, 2017, 7:20:50 PM6/3/17
to Android emulator development

You are using y version of libhoudini
which is targeted for 64k32u.

Do you have a 64-bit kernel?
I guess not.

Xun H.W於 2016年3月1日星期二 UTC+8上午2時55分55秒寫道:

Xun H.W

unread,
Sep 10, 2017, 1:43:26 AM9/10/17
to Android emulator development
Hi Huang, thanks for reply. 
I thinks that's exactly the reason of my issue. 
But why targeted for 64k32u? do we have libhoudini  targeted for 64k64u or 32k32u?

Chih-Wei Huang

unread,
Sep 14, 2017, 4:42:08 AM9/14/17
to Android emulator development


Xun H.W於 2017年9月10日星期日 UTC+8下午1時43分26秒寫道:
Hi Huang, thanks for reply. 
I thinks that's exactly the reason of my issue. 
But why targeted for 64k32u? do we have libhoudini  targeted for 64k64u or 32k32u?

I have. I don't know if you have or not.

Xun H.W

unread,
Sep 15, 2017, 3:56:15 AM9/15/17
to Android emulator development
Could you share it or where I can download myself? 
thanks! 

my mail a...@xun.im
Reply all
Reply to author
Forward
0 new messages