It is possible to run an ARM binary built for Android (not the .apk) on other ARM devices featuring Linux (such is Raspberry Pi)? I’m trying to port one of my projects on ARM but I need to use a closed-source binary (SopCast) which is available only for x86 (Windows and Linux) and (recently) Android devices.
Running file sopclient shows ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), stripped but sh sopclient says just cannot execute binary file (yes, I chmoded +x it before).
Is there any noticeable difference between a “classic” ARM Linux kernel and a Android-Linux one?
Be aware that there could be dependencies on the Android’s
bioniclib which may not be present on another Linux ARM?You can check that by running a
readelf -Ss binary_nameto see the symbols if any,For example, using
readelf -Ss logwrapperNotice the symbols used, that’s your cue to check the symbols, finally issue this,
readelf -d logwrapperThere’s three libraries dynamically linked in at run-time, thing is,
bioniclibrary islibc.sofrom the native C and Android perspective, So double check on that first!There are other ARM
libc.sothat will come under the guise of ucLibC so the mileage may vary. Only way to see, is to run it under the Linux ARM to see what happens, if it bombs out with segmentation errors or bus errors, you’ll know then.