Can't compile, error with uiAutomator

564 views
Skip to first unread message

Edgardo Gho

unread,
Apr 9, 2015, 12:54:11 PM4/9/15
to andro...@googlegroups.com
I get the following when compiling:
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=5.1
TARGET_PRODUCT=android_x86
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=x86
TARGET_ARCH_VARIANT=x86
TARGET_CPU_VARIANT=
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.13.0-48-generic-x86_64-with-Ubuntu-14.04-trusty
HOST_BUILD_TYPE=release
BUILD_ID=LMY47I
OUT_DIR=out
============================================
including ./abi/cpp/Android.mk ...
including ./art/Android.mk ...
including ./bionic/Android.mk ...
including ./bootable/newinstaller/Android.mk ...
including ./bootable/recovery/Android.mk ...
including ./build/libs/host/Android.mk ...
including ./build/target/board/Android.mk ...
including ./build/target/product/security/Android.mk ...
including ./build/tools/Android.mk ...
including ./dalvik/Android.mk ...
including ./device/generic/common/Android.mk ...
including ./device/sample/Android.mk ...
including ./external/aac/Android.mk ...
including ./external/alsa-lib/Android.mk ...
including ./external/alsa-utils/Android.mk ...
including ./external/android-clat/Android.mk ...
including ./external/ant-glob/Android.mk ...
including ./external/antlr/Android.mk ...
including ./external/apache-harmony/Android.mk ...
including ./external/apache-http/Android.mk ...
including ./external/apache-xml/Android.mk ...
including ./external/bison/Android.mk ...
including ./external/blktrace/Android.mk ...
including ./external/bluetooth/bluedroid/Android.mk ...
including ./external/bouncycastle/Android.mk ...
including ./external/bsdiff/Android.mk ...
including ./external/busybox/Android.mk ...
including ./external/bzip2/Android.mk ...
including ./external/ceres-solver/Android.mk ...
including ./external/checkpolicy/Android.mk ...
including ./external/chromium-libpac/Android.mk ...
including ./external/chromium_org/Android.mk ...
including ./external/clang/Android.mk ...
including ./external/compiler-rt/Android.mk ...
including ./external/conscrypt/Android.mk ...
including ./external/deqp/Android.mk ...
including ./external/dexmaker/Android.mk ...
including ./external/dhcpcd/Android.mk ...
including ./external/dnsmasq/Android.mk ...
including ./external/doclava/Android.mk ...
including ./external/drm/Android.mk ...
including ./external/droiddriver/Android.mk ...
including ./external/e2fsprogs/Android.mk ...
including ./external/easymock/Android.mk ...
including ./external/eigen/Android.mk ...
including ./external/eject/Android.mk ...
including ./external/elfutils/Android.mk ...
including ./external/emma/Android.mk ...
including ./external/exfat/Android.mk ...
including ./external/expat/Android.mk ...
including ./external/eyes-free/Android.mk ...
including ./external/f2fs-tools/Android.mk ...
including ./external/fdlibm/Android.mk ...
including ./external/ffmpeg/Android.mk ...
including ./external/fio/Android.mk ...
including ./external/flac/Android.mk ...
including ./external/freetype/Android.mk ...
including ./external/fsck_msdos/Android.mk ...
including ./external/gcc-demangle/Android.mk ...
including ./external/genext2fs/Android.mk ...
including ./external/giflib/Android.mk ...
including ./external/glide/Android.mk ...
including ./external/google-diff-match-patch/Android.mk ...
including ./external/google-fonts/carrois-gothic-sc/Android.mk ...
including ./external/google-fonts/coming-soon/Android.mk ...
including ./external/google-fonts/cutive-mono/Android.mk ...
including ./external/google-fonts/dancing-script/Android.mk ...
including ./external/google-tv-pairing-protocol/Android.mk ...
including ./external/gtest/Android.mk ...
including ./external/guava/Android.mk ...
including ./external/hamcrest/Android.mk ...
including ./external/harfbuzz_ng/Android.mk ...
including ./external/icu/Android.mk ...
including ./external/iproute2/Android.mk ...
including ./external/ipsec-tools/Android.mk ...
including ./external/iptables/Android.mk ...
including ./external/iputils/Android.mk ...
including ./external/jarjar/Android.mk ...
including ./external/javasqlite/Android.mk ...
including ./external/javassist/Android.mk ...
including ./external/jdiff/Android.mk ...
including ./external/jemalloc/Android.mk ...
including ./external/jhead/Android.mk ...
including ./external/jmdns/Android.mk ...
including ./external/jpeg/Android.mk ...
including ./external/jsilver/Android.mk ...
including ./external/jsmn/Android.mk ...
including ./external/jsoncpp/Android.mk ...
including ./external/jsr305/Android.mk ...
including ./external/junit/Android.mk ...
including ./external/koush/Superuser/Android.mk ...
including ./external/ksoap2/Android.mk ...
including ./external/libcap-ng/Android.mk ...
including ./external/libcxx/Android.mk ...
including ./external/libcxxabi/Android.mk ...
including ./external/libedit/Android.mk ...
including ./external/libexif/Android.mk ...
including ./external/libgsm/Android.mk ...
including ./external/libhevc/Android.mk ...
including ./external/liblzf/Android.mk ...
including ./external/libnl/Android.mk ...
including ./external/libogg/Android.mk ...
including ./external/libopus/Android.mk ...
including ./external/libpcap/Android.mk ...
including ./external/libpng/Android.mk ...
including ./external/libselinux/Android.mk ...
including ./external/libsepol/Android.mk ...
including ./external/libtruezip/Android.mk ...
including ./external/libunwind/Android.mk ...
including ./external/libusb_aah/Android.mk ...
including ./external/libutf/Android.mk ...
including ./external/libvorbis/Android.mk ...
including ./external/libvpx/Android.mk ...
including ./external/libxml2/Android.mk ...
including ./external/libyuv/Android.mk ...
including ./external/linux-tools-perf/Android.mk ...
including ./external/littlemock/Android.mk ...
including ./external/lldb/Android.mk ...
including ./external/llvm/Android.mk ...
including ./external/ltrace/Android.mk ...
including ./external/lzma/C/Util/Lzma/Android.mk ...
including ./external/lzma/xz-embedded/Android.mk ...
including ./external/markdown/Android.mk ...
including ./external/mdnsresponder/Android.mk ...
including ./external/mesa/Android.mk ...
including ./external/mksh/Android.mk ...
including ./external/mockito/Android.mk ...
including ./external/mockwebserver/Android.mk ...
including ./external/modules/rtl8723au/Android.mk ...
including ./external/mp4parser/Android.mk ...
including ./external/mtpd/Android.mk ...
including ./external/nanohttpd/Android.mk ...
including ./external/nanopb-c/Android.mk ...
including ./external/naver-fonts/Android.mk ...
including ./external/netcat/Android.mk ...
including ./external/netperf/Android.mk ...
including ./external/neven/Android.mk ...
including ./external/nfacct/Android.mk ...
including ./external/nist-pkits/Android.mk ...
including ./external/noto-fonts/Android.mk ...
including ./external/ntfs-3g/Android.mk ...
including ./external/oauth/core/src/main/java/Android.mk ...
including ./external/objenesis/Android.mk ...
including ./external/okhttp/Android.mk ...
including ./external/opencv/Android.mk ...
including ./external/openssl/Android.mk ...
including ./external/oprofile/Android.mk ...
including ./external/owasp/sanitizer/Android.mk ...
including ./external/parted/Android.mk ...
including ./external/pdfium/core/Android.mk ...
including ./external/pdfium/fpdfsdk/Android.mk ...
including ./external/pixman/Android.mk ...
including ./external/ppp/pppd/Android.mk ...
including ./external/proguard/Android.mk ...
including ./external/protobuf/Android.mk ...
including ./external/regex-re2/Android.mk ...
including ./external/replicaisland/Android.mk ...
including ./external/robolectric/Android.mk ...
including ./external/safe-iop/Android.mk ...
including ./external/scrypt/Android.mk ...
including ./external/sepolicy/Android.mk ...
including ./external/sfntly/Android.mk ...
including ./external/skia/Android.mk ...
including ./external/smack/Android.mk ...
including ./external/smali/baksmali/Android.mk ...
including ./external/smali/deodexerant/Android.mk ...
including ./external/smali/dexlib2/Android.mk ...
including ./external/smali/smali/Android.mk ...
including ./external/sonivox/Android.mk ...
including ./external/speex/Android.mk ...
including ./external/sqlite/android/Android.mk ...
including ./external/sqlite/dist/Android.mk ...
including ./external/srec/Android.mk ...
including ./external/srtp/Android.mk ...
including ./external/stagefright-plugins/Android.mk ...
including ./external/stlport/Android.mk ...
including ./external/strace/Android.mk ...
including ./external/stressapptest/Android.mk ...
including ./external/svox/Android.mk ...
including ./external/tagsoup/Android.mk ...
including ./external/tcpdump/Android.mk ...
including ./external/tinyalsa/Android.mk ...
including ./external/tinycompress/Android.mk ...
including ./external/tinyxml/Android.mk ...
including ./external/tinyxml2/Android.mk ...
including ./external/tremolo/Android.mk ...
including ./external/v86d/Android.mk ...
including ./external/valgrind/Android.mk ...
including ./external/vixl/Android.mk ...
including ./external/webp/Android.mk ...
including ./external/webrtc/Android.mk ...
including ./external/wpa_supplicant_8/Android.mk ...
including ./external/xmp_toolkit/Android.mk ...
including ./external/zlib/Android.mk ...
including ./external/zopfli/Android.mk ...
including ./external/zxing/Android.mk ...
including ./frameworks/av/camera/Android.mk ...
including ./frameworks/av/cmds/screenrecord/Android.mk ...
including ./frameworks/av/cmds/stagefright/Android.mk ...
including ./frameworks/av/drm/common/Android.mk ...
including ./frameworks/av/drm/drmserver/Android.mk ...
including ./frameworks/av/drm/libdrmframework/Android.mk ...
including ./frameworks/av/drm/mediadrm/plugins/clearkey/Android.mk ...
including ./frameworks/av/drm/mediadrm/plugins/mock/Android.mk ...
including ./frameworks/av/media/common_time/Android.mk ...
including ./frameworks/av/media/img_utils/Android.mk ...
including ./frameworks/av/media/libcpustats/Android.mk ...
including ./frameworks/av/media/libeffects/downmix/Android.mk ...
including ./frameworks/av/media/libeffects/factory/Android.mk ...
including ./frameworks/av/media/libeffects/loudness/Android.mk ...
including ./frameworks/av/media/libeffects/lvm/lib/Android.mk ...
including ./frameworks/av/media/libeffects/lvm/wrapper/Android.mk ...
including ./frameworks/av/media/libeffects/preprocessing/Android.mk ...
including ./frameworks/av/media/libeffects/proxy/Android.mk ...
including ./frameworks/av/media/libeffects/visualizer/Android.mk ...
including ./frameworks/av/media/libmedia/Android.mk ...
including ./frameworks/av/media/libmediaplayerservice/Android.mk ...
including ./frameworks/av/media/libnbaio/Android.mk ...
including ./frameworks/av/media/libstagefright/Android.mk ...
including ./frameworks/av/media/mediaserver/Android.mk ...
including ./frameworks/av/media/mtp/Android.mk ...
including ./frameworks/av/media/ndk/Android.mk ...
including ./frameworks/av/services/audioflinger/Android.mk ...
including ./frameworks/av/services/audiopolicy/Android.mk ...
including ./frameworks/av/services/camera/libcameraservice/Android.mk ...
including ./frameworks/av/services/medialog/Android.mk ...
including ./frameworks/av/services/soundtrigger/Android.mk ...
including ./frameworks/av/soundtrigger/Android.mk ...
including ./frameworks/av/tools/resampler_tools/Android.mk ...
including ./frameworks/base/Android.mk ...
including ./frameworks/compile/libbcc/Android.mk ...
including ./frameworks/compile/mclinker/Android.mk ...
including ./frameworks/compile/slang/Android.mk ...
including ./frameworks/ex/camera2/Android.mk ...
including ./frameworks/ex/common/Android.mk ...
including ./frameworks/ex/framesequence/Android.mk ...
including ./frameworks/ex/variablespeed/Android.mk ...
including ./frameworks/minikin/libs/minikin/Android.mk ...
including ./frameworks/minikin/sample/Android.mk ...
including ./frameworks/ml/Android.mk ...
including ./frameworks/multidex/Android.mk ...
including ./frameworks/native/cmds/atrace/Android.mk ...
including ./frameworks/native/cmds/bugreport/Android.mk ...
including ./frameworks/native/cmds/dumpstate/Android.mk ...
including ./frameworks/native/cmds/dumpsys/Android.mk ...
including ./frameworks/native/cmds/flatland/Android.mk ...
including ./frameworks/native/cmds/installd/Android.mk ...
including ./frameworks/native/cmds/ip-up-vpn/Android.mk ...
including ./frameworks/native/cmds/rawbu/Android.mk ...
including ./frameworks/native/cmds/service/Android.mk ...
including ./frameworks/native/cmds/servicemanager/Android.mk ...
including ./frameworks/native/libs/binder/Android.mk ...
including ./frameworks/native/libs/diskusage/Android.mk ...
including ./frameworks/native/libs/gui/Android.mk ...
including ./frameworks/native/libs/input/Android.mk ...
including ./frameworks/native/libs/ui/Android.mk ...
including ./frameworks/native/opengl/libagl/Android.mk ...
including ./frameworks/native/opengl/libs/Android.mk ...
including ./frameworks/native/opengl/tests/Android.mk ...
including ./frameworks/native/services/batteryservice/Android.mk ...
including ./frameworks/native/services/inputflinger/Android.mk ...
including ./frameworks/native/services/powermanager/Android.mk ...
including ./frameworks/native/services/sensorservice/Android.mk ...
including ./frameworks/native/services/surfaceflinger/Android.mk ...
including ./frameworks/opt/bitmap/Android.mk ...
including ./frameworks/opt/bluetooth/Android.mk ...
including ./frameworks/opt/calendar/Android.mk ...
including ./frameworks/opt/chips/Android.mk ...
including ./frameworks/opt/colorpicker/Android.mk ...
including ./frameworks/opt/datetimepicker/Android.mk ...
including ./frameworks/opt/emoji/Android.mk ...
including ./frameworks/opt/inputmethodcommon/Android.mk ...
including ./frameworks/opt/mms/Android.mk ...
including ./frameworks/opt/net/ethernet/Android.mk ...
including ./frameworks/opt/net/ims/Android.mk ...
including ./frameworks/opt/net/voip/Android.mk ...
including ./frameworks/opt/net/wifi/service/Android.mk ...
including ./frameworks/opt/photoviewer/Android.mk ...
including ./frameworks/opt/setupwizard/navigationbar/Android.mk ...
including ./frameworks/opt/telephony/Android.mk ...
including ./frameworks/opt/timezonepicker/Android.mk ...
including ./frameworks/opt/vcard/Android.mk ...
including ./frameworks/rs/Android.mk ...
including ./frameworks/support/Android.mk ...
find: `dummy': No such file or directory
including ./frameworks/testing/Android.mk ...
build/core/base_rules.mk:154: *** frameworks/testing/uiautomator/instrumentation: MODULE.TARGET.JAVA_LIBRARIES.uiautomator-instrumentation already defined by frameworks/base/cmds/uiautomator/instrumentation.  Stop.

#### make failed to build some targets (23 seconds) ####

I think I made a clean checkout of the latest code in the git repo.

Also, I've seen some recent changes on libhoudini hooks. The static library is not included in lollipop (but it is on kitkat). I also seen some tablets with Atom processors and Lollipop and they run libhoudini. I have access to one. I tried copying the /system/lib/arm contents, enabling the binfmt module (pointing to houdini binary), adding the missing ABIs to the build.prop but I still can't get it to work. Each time I try to install an apk with ARM binaries it gives me DEX_OPT error.

Edgardo Gho

unread,
Apr 9, 2015, 2:30:35 PM4/9/15
to andro...@googlegroups.com
My bad. It was not as clean as I believe it was.

Chih-Wei Huang

unread,
Apr 9, 2015, 9:44:30 PM4/9/15
to Android-x86
Remove frameworks/testing.

If you correctly sync the source tree,
it should be removed automatically.
> --
> You received this message because you are subscribed to the Google Groups
> "Android-x86" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to android-x86...@googlegroups.com.
> To post to this group, send email to andro...@googlegroups.com.
> Visit this group at http://groups.google.com/group/android-x86.
> For more options, visit https://groups.google.com/d/optout.



--
Chih-Wei
Android-x86 project
http://www.android-x86.org

Edgardo Gho

unread,
Apr 10, 2015, 7:23:37 AM4/10/15
to andro...@googlegroups.com
Yes, I got confused but now it build ok.
Is there any news on lib houdini for lollipop?. I notice that the kitkat build has some code to start activities with lib houdini (on frameworks base native bridge) and there is also a static library called houdini_hook which I believe wraps the houdini binary. I've seen some changes to it recently. I also have access to a table with intel atom and lollipop and it has houdini on it. I tried getting it out of there and putting it on lollipop-x86 but I can't make it work. The /system/lib/arm has the files, the libhoudini.so is also in /system/lib and the /system/bin/houdini is there (this one lets me check the version and it says 5.0).
I got the kernel module setup with the proper magic number (like the enable_houdini script is doing) so that part is working, but it never executes houdini. What I don't have is the hooks which are there on KitKat. I also have to manually add the abis to the abislist on build.prop. When I try to install an APK with arm binaries it says INSTALL_FAILED_DEX_OPT.

Edgardo Gho

unread,
Apr 10, 2015, 10:35:40 AM4/10/15
to andro...@googlegroups.com
I was able to compile, but I get no video. Once it starts booting the Android Boot animation is not visible, although the system is running. I started with the nomodeset option and it is working (but looks terrible and unusable).
dmesg shows no evident problem. Any ideas what could I try?
I tested with the latest kernel.

Chih-Wei Huang

unread,
Apr 10, 2015, 10:42:17 AM4/10/15
to Android-x86
What does the latest kernel mean?

Edgardo Gho

unread,
Apr 10, 2015, 10:48:54 AM4/10/15
to andro...@googlegroups.com
3.18.8. compiled for 32bits.
I have access to terminal using ALT+F1, and I know the system is running since I can hear a pop in the speakers that i always get when it starts.
My monitor is connected using lvds. I try adding video=-16 or vga= (with the proper value for my screen resolution), but it makes no difference

Edgardo Gho

unread,
Apr 10, 2015, 10:52:58 AM4/10/15
to andro...@googlegroups.com
Last version I succesfully run had kernel 3.18.2 (lollipop 5.0.2)

Vincent Li

unread,
Apr 14, 2015, 12:59:32 PM4/14/15
to andro...@googlegroups.com
Hi,
Here is the link I can found about houdini for lollipop (https://android.googlesource.com/device/asus/fugu/+/4e9139445281885e6cf68939df563955d184d6b9/self-extractors/intel/staging/device-partial.mk)
It looks apparently that the current houdini for kitkat will not work for lollipop.
from the make file it shows that fugu pulls a brand new houdini from intel proprietary blob. (the blob can be found at https://developers.google.com/android/nexus/drivers, the file provided by company Intel)
the only problem that remains is the need to path lollipop to apply houdini as it had been done in kitkat.
In kitkat we can see dalvik/framework/libcore has some patches to introduces houdini when installation/start apps.
from the init script https://android.googlesource.com/device/asus/fugu/+/4e9139445281885e6cf68939df563955d184d6b9/init.fugu.rc

# Enable native bridge for target executables
on early-init
    mount binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc
on property:ro.enable.native.bridge.exec=1
    copy /system/etc/binfmt_misc/arm_exe /proc/sys/fs/binfmt_misc/register
    copy /system/etc/binfmt_misc/arm_dyn /proc/sys/fs/binfmt_misc/register

The binfmt has been integrated into it.
So I think maybe lollipop has been updated to some level to allow more seamlessly use of houdini.

Edgardo Gho於 2015年4月10日星期五 UTC+8下午7時23分37秒寫道:

Edgardo Gho

unread,
Apr 15, 2015, 2:41:50 PM4/15/15
to andro...@googlegroups.com
I tested that binary blob and could not make it work.
i have all the files in /system/lib/arm , I also have the houdini bin which reports version 5.1.0 (on /system/bin/houdini).
I have the /system/lib/libhoudini.so file in place, and I make sure binfmt_misc is loaded as module, and register arm_exe arm_dyn with the proper magic codes. Also build.prop has the proper ABIs in the abis list and the native bridge is enabled. I still get this when running skype:

E/art     ( 3117): dlopen("/data/app/com.skype.raider-1/lib/arm/libBreakpadIntegration.so", RTLD_LAZY) failed: dlopen failed: "/data/app/com.skype.raider-1/lib/arm/libBreakpadIntegration.so" has unexpected e_machine: 40
D/AndroidRuntime( 3117): Shutting down VM
E/AndroidRuntime( 3117): FATAL EXCEPTION: main
E/AndroidRuntime( 3117): Process: com.skype.raider, PID: 3117
E/AndroidRuntime( 3117): java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.skype.raider-1/lib/arm/libBreakpadIntegration.so" has unexpected e_machine: 40

Povilas Staniulis

unread,
Apr 15, 2015, 3:42:20 PM4/15/15
to andro...@googlegroups.com
On 2015.04.15 21:41, Edgardo Gho wrote:
I tested that binary blob and could not make it work.
i have all the files in /system/lib/arm , I also have the houdini bin which reports version 5.1.0 (on /system/bin/houdini).
I have the /system/lib/libhoudini.so file in place, and I make sure binfmt_misc is loaded as module, and register arm_exe arm_dyn with the proper magic codes. Also build.prop has the proper ABIs in the abis list and the native bridge is enabled. I still get this when running skype:

E/art     ( 3117): dlopen("/data/app/com.skype.raider-1/lib/arm/libBreakpadIntegration.so", RTLD_LAZY) failed: dlopen failed: "/data/app/com.skype.raider-1/lib/arm/libBreakpadIntegration.so" has unexpected e_machine: 40
D/AndroidRuntime( 3117): Shutting down VM
E/AndroidRuntime( 3117): FATAL EXCEPTION: main
E/AndroidRuntime( 3117): Process: com.skype.raider, PID: 3117
E/AndroidRuntime( 3117): java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.skype.raider-1/lib/arm/libBreakpadIntegration.so" has unexpected e_machine: 40

That message comes from elf loader, which means it's trying to load the binary directly.
It seems we need a new hook for lollipop.

But if houdini binary itself runs, that's a good sign.

Edgardo Gho

unread,
Apr 15, 2015, 4:34:47 PM4/15/15
to andro...@googlegroups.com
I see that I get the same error if I don't have binfmt_misc running, so maybe my setup is wrong?

Povilas Staniulis

unread,
Apr 15, 2015, 4:49:45 PM4/15/15
to andro...@googlegroups.com
On 2015.04.15 23:34, Edgardo Gho wrote:
I see that I get the same error if I don't have binfmt_misc running, so maybe my setup is wrong?


No, there's code in elf loader which checks if elf binary machine matches the target machine. If it doesn't, the loader shows the message you see.

ARM libs in kitkat get loaded through Houdini hooks and not directly through dlopen (IIRC, Dalvik is patched to allow this).
Lollipop's ART runtime needs to be patched to work with houdini.

Edgardo Gho

unread,
Apr 15, 2015, 4:58:57 PM4/15/15
to andro...@googlegroups.com
OK.
I check the libhoudini.so with nm and I see that it has 
003ff754 A __bss_start
00051220 T bzero
0008a610 T bzero64
003af020 D __data_lock_seg_0
003af050 D __data_lock_seg_1
003af25c D __data_lock_seg_2
003af268 D __data_lock_seg_3
         U dladdr
         U dlclose
         U dlopen
         U dlsym
003ff754 A _edata
0056607c A _end
0004f0c0 T memcpy
00083730 T memcpy64
00050170 T memmove
00086ea0 T memmove64
0004e860 T memset
00082af0 T memset64
003fd098 D NativeBridgeItf
002c4a20 T .text.__icc.get_pc_thunk.ax
002c4a08 T .text.__icc.get_pc_thunk.bp
002c4a14 T .text.__icc.get_pc_thunk.bx
002c4a38 T .text.__icc.get_pc_thunk.cx
002c4a50 T .text.__icc.get_pc_thunk.di
002c4a2c T .text.__icc.get_pc_thunk.dx
002c4a44 T .text.__icc.get_pc_thunk.si
0003e430 T __text_rel_seg_0
0003e438 T __text_rel_seg_1
00081fb0 T __text_rel_seg_2
0008b250 T __text_rel_seg_3
0008cbb0 T __text_rel_seg_4
002c5c00 R __text_rel_tbl_0
002c9a84 R __text_rel_tbl_1

I don't think the old hooks for KK will work on this one. I also looked at the code on libnativebridge (I think it is new to lollipop) and it should be searching for this:
NativeBridgeItf

I tried defining persist.native.bridge
to point to libhoudini.so but that did not make any difference.

Povilas Staniulis

unread,
Apr 15, 2015, 5:31:39 PM4/15/15
to andro...@googlegroups.com
Yes, it seems there's already code to use NativeBridge which should work with Houdini, because it implements NativeBridgeItf.
if dlopen fails, ART should try to load the binary using NativeBridge instead but it doesn't. I wonder why. Maybe this function is disabled somehow ?
Or maybe we need to set persist.native.bridge at boot from initrd ?

I have zero experience working with Android userland.

We need someone with more experience to look at this.

Lack of ARM support in Lollipop is a deal breaker for many users.

Povilas Staniulis

unread,
Apr 15, 2015, 5:32:12 PM4/15/15
to andro...@googlegroups.com
It would be good to make a separate topic for this.

Povilas Staniulis

unread,
Apr 15, 2015, 6:11:21 PM4/15/15
to andro...@googlegroups.com
Also, did you try enabling it: persist.enable.native.bridge

Edgardo Gho

unread,
Apr 16, 2015, 9:08:50 AM4/16/15
to andro...@googlegroups.com
Yes I did.
Did not work. I'll keep trying to track the code and see where it should be loaded and see why it is not.

Povilas Staniulis

unread,
Apr 16, 2015, 9:15:10 AM4/16/15
to andro...@googlegroups.com
On 2015.04.16 16:08, Edgardo Gho wrote:
> Yes I did.
> Did not work. I'll keep trying to track the code and see where it
> should be loaded and see why it is not.
>
From the code, I see that there should be messages when NativeBridge is
loaded (or fails to load).
Try doing logcat after trying to run an ARM app.

Edgardo Gho

unread,
Apr 16, 2015, 9:23:06 AM4/16/15
to andro...@googlegroups.com
I tried that and grep for NativeBridge, but could not see anything. My guess is that it is not compiling or loading, although I have libnativebridge.so.
I tried adding 
  1. BUILD_ARM_FOR_X86 := true
But did not make any difference (although I notice it recompile and re-install all of the /system/lib files).
I have a tablet running lollipop (5.0.1) and it has libhoudini. I can run skype and netflix on it. But the device is not rooted so I can't access the init files and see what they are doing.

Povilas Staniulis

unread,
Apr 16, 2015, 10:10:54 AM4/16/15
to andro...@googlegroups.com
On 2015.04.16 16:23, Edgardo Gho wrote:
I tried that and grep for NativeBridge, but could not see anything. My guess is that it is not compiling or loading, although I have libnativebridge.so.
http://git.android-x86.org/?p=platform/art.git;a=tree
runtime folder:
native bridge interface files,
hooks in jni_internal.cc

http://git.android-x86.org/?p=platform/system/core.git;a=tree
libnativebridge


I tried adding 
  1. BUILD_ARM_FOR_X86 := true
But did not make any difference (although I notice it recompile and re-install all of the /system/lib files).
I have a tablet running lollipop (5.0.1) and it has libhoudini. I can run skype and netflix on it. But the device is not rooted so I can't access the init files and see what they are doing.

Well, you can always root your tablet to extract the needed files (houdini libs, /system/lib/arm, init scripts) and then unroot later.
Or maybe there's a update ROM available which we can examine ?
Reply all
Reply to author
Forward
0 new messages