Android SDK x86_64 – adb, libraries, emulator issues

I have installed the latest Android SDK on Fedora 17 x86_64 version. I’ve chosen the bundle for my platform, expecting it would work straight away, but that was not the case. The adb (Android Debug Brdige) needs to make use of the of libraries for the i686 version, such as glibc, ncurses and tdc++. Errors look as usual:

/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

In addition to these I required to install libz for the SDK to perform correctly without any errors. Simply linking from /lib64 to /lib wouldn’t work, as adb would exit with segmentation fault, something expectable since it deals with different architecture’s libraries.  The following command will install all the required packages (with a couple of dependencies) to get that bit working:

yum install glibc.i686 ncurses0libs.i686 libstdc++.i686 libzeitgeist.i686

In addition to the libraries issues for the adb, the emulator binary that lunches the Android emulation images is also targeted for i686. The bundle comes with emulator-x86_64 but when you lunch an AVD (Android Virtual Device) through the ADT Manager, it wouldn’t start the emulator as the binary was failing to execute and wouldn’t pick automatically the x86_64 version. In this case a simple link would work. I renamed the initial i686 binary to emulator-32, and linked emulator-x86_64 to emulator. The actual AVD would then start as it should and operated normally, being able to install applications via the Android SDK.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s