I have installed eclipse and android SDK on Fedora 17. In eclipse I got this error
/home/jakub/Android/android-sdk-linux/platform-tools/aapt: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
I tried install this packages: ncurses-libs.i686 libstdc++.i686 libgcc.i686, but always got that error
i got it working on 64bit CentOS using a stackexchange answer i cannot find at the moment. It basically involved appending .i686 to several package names, ie:
yum install libstdc++.i686
ia32-libs does not formally exist as an rpm. However, on my Ubuntu 10.04 box
dpkg --listfiles ia32-libs | wc
indicates there are 1456 files in ia32-libs to make 32bit stuff work on 64bit Debian based platforms. i certainly did not install 1456 .i686 packages. So just now, i entered
$ rpm -qa | grep i686
libX11-1.3-2.el6.i686
libstdc++-4.4.6-4.el6.i686
openssl-1.0.0-25.el6_3.1.i686
libXau-1.0.5-1.el6.i686
SDL-1.2.14-3.el6.i686
glibc-2.12-1.80.el6_3.7.i686
libgcc-4.4.6-4.el6.i686
libxcb-1.5-1.el6.i686
libXrandr-1.3.0-4.el6.i686
zlib-1.2.3-27.el6.i686
libselinux-2.0.94-5.3.el6.i686
openssl-devel-1.0.0-25.el6_3.1.i686
nss-softokn-freebl-3.12.9-11.el6.i686
ncurses-libs-5.7-3.20090208.el6.i686
krb5-libs-1.9-33.el6_3.3.i686
libXext-1.1-3.el6.i686
libcom_err-1.41.12-12.el6.i686
libXrender-0.9.5-1.el6.i686
keyutils-libs-1.4-4.el6.i686
When i find the original answer i used, i will post it back here.
did you used android in fedora before.?
System requirements
Operating Systems
Windows XP (32-bit), Vista (32- or 64-bit), or Windows 7 (32- or 64-bit)
Mac OS X 10.5.8 or later (x86 only)
Linux (tested on Ubuntu Linux, Lucid Lynx)
GNU C Library (glibc) 2.7 or later is required.
On Ubuntu Linux, version 8.04 or later is required.
64-bit distributions must be capable of running 32-bit applications.
link:
because SDK is 32bit
try to use: yum install ia32-libs
Related
I'm catching the error below on Debian 7.3, x64 (fully patched).
I'm pretty certain its because adb is 32-bit even in the 64-bit distro of its SDK tools
$ which adb
/opt/android-sdk/platform-tools/adb
$ /opt/android-sdk/platform-tools/adb
bash: /opt/android-sdk/platform-tools/adb: No such file or directory
$ file /opt/android-sdk/platform-tools/adb
/opt/android-sdk/platform-tools/adb: ELF 32-bit LSB executable, Intel 80386,
version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8,
not stripped
I don't want to install hundreds of megabytes of 32-bit binaries just to support adb and fastboot. (See, for example, Ubuntu 64 with Android 64 Bundle cannot find adb executable).
I know there's an outstanding feature request from 2012 at Please port SDK tools to 64-bit on Linux (adb, aapt, etc), but no action has been taken (even no acknowledgement).
Does anyone know if Google makes a 64-bit version of adb? If not, does Google have any plans on providing them?
Good news. it is now officialy maintained by the fine folks at Debian.
just install android-tools-adb (you also have fastboot and a few others) from the main debian repo (no need to add repo as this is there by default)
it is native amd64 architecture!
$ sudo aptitude install android-tools-adb
...
$ file /usr/bin/adb
/usr/bin/adb: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=b36a05975f3d903a4f0ee3e02b581cc71ddedf26, stripped
Nobody comes here looking for answers to this question anymore since the packages distributed with Android SDK come in 64-bit flavor by default now.
So I am just writing down version numbers for the last 32-bit packages for future reference:
build-tools_r23.0.3
platform-tools_r23.0.1
If you are running debian/ubuntu 12.04 follow this guide to add the ppa for the 64bit fastboot and adb
http://bernaerts.dyndns.org/linux/74-ubuntu/245-ubuntu-precise-install-android-sdk
If you do not need the SDK and just need the android-tools, do
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install android-tools-adb android-tools-fastboot
If you want the SDK API on your precise 64 bit, then sorry, you have to install ia32-libs.
Newer than 12.04 (12.10 and above) I think android-tools-adb and android-tools-fastboot 64bit are in the universe respository. No additional PPA necessary.
David
Instead of use a repository, and if you prefer to work with your downloaded Android SDK, you should use this procedure that is decribed here.
To resume:
Install the Android SDK
Add the i386 MultiArch support to your Debian:
sudo dpkg --add-architecture i386
Update your package list
sudo apt-get update
And install the following i386 packages
sudo aptitude install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386
Now, all the Android SDK platform tools should work.
Edit (2014/06/06): The solution has been already answered on this Stackoverflow post.
Please, help with the following.
I'm trying to run example app with Qt 5.1.1 & Qt Creator 2.8.1 OS: (Ubuntu 13.10) on my Samsung galaxy s4 with Android 4.3.
But get error from Qt Creator: "cannot deploy:no device or emulator found for your package".
I tried using an emulator directly running it from SDK manager too, but got the same error.
adb sees devices:
"4d00050f7aa540c3 device // - samsung s4
emulator-5554 device"
I activated usb debugging on the telephone through developer options.
I also added udev rule and now when device's plugged in, file with mode 0777 is created in /dev/bus/usb. In file manager i can see the telephone and can enter its storages. I also get request to accept RSA key and click OK.
Project settings:
- API level 14 (also tried latest versions);
- gcc 4.6 (android for armv7);
If I missed some info, please ask. Thanks!
I was lucky to solve question: i'm using 64-bit version of Ubuntu, and installed appropriate android SDK Tools. But when i began to update it with "android" command line tool, it downloaded 32-bit versions of build-tools and platform-tools.
Therefore i added 32-bit architecture:
sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5
sudo apt-get install lib32z1
Then i got some errors from ant and downgraded build-tools from 19.0 to 18.1.1 with "android" cmd tool.
And it works!
I work with older releases of Android (Gingerbread 2.3.4). To develop for these versions I use now Ubuntu 10.04. At the same time, I would like to use more recent version: 12.04 or maybe 12.10. It is written here:
Building on Ubuntu 12.04 is currently only experimentally supported
and is not guaranteed to work on branches other than master.
So here is my question, has anybody tried to build old versions of Android on Ubuntu 12.04? I do not like new unity interface so I also consider xfce or kde. That's why here is the second question, will I have any troubles with building if I change window system?
Yes, it is possible to build Gingerbread on Ubuntu 12.10.
Biggest problem is that Ubuntu 12.10 has newer gcc 4.7, which is very strict.
It is possible to fix it by patching Android source to be compliant with new gcc requirements. However, this can be difficult to do, especially when it involves patching older kernel sources.
You can bypass this by simply installing older gcc 4.4 (which is default version in Ubuntu 10.10).
sudo apt-get install gcc-4.4-multilib g++-4.4-multilib
After that, you need to make gcc 4.4 to be the default compiler for your Android compilation.
Easiest way is to simply symlink gcc, g++, cpp to point to older versions and add it to PATH:
mkdir ~/bin
cd ~/bin
ln -s /usr/bin/g++-4.4 g++
ln -s /usr/bin/gcc-4.4 gcc
ln -s /usr/bin/cpp-4.4 cpp
# you might want to add line below to ~/.bashrc:
export PATH=$HOME/bin:$PATH
Now, you need to have Java installed. Unlike newer Android 4, Gingerbread can be built using OpenJDK, so you should be able to simply
sudo apt-get install openjdk-6-jdk
to get working JDK.
Also see this thread.
I'm running ArchLinux, kernel 3.4.4, bash version 4.2.29. I downloaded the android sdk from here: http://developer.android.com/sdk/index.html
Once extracted I did, did ~/android-sdk-linux/tools/android and installed the SDK platform tools package.
From there I tried the following:
> ls -l ~/android-sdk-linux/platform-tools/adb
-rwxr-xr-x 1 mediocregopher mediocregopher 204436 Jun 28 13:20 /home/mediocregopher/android-sdk-linux/platform-tools/adb
> file ~/android-sdk-linux/platform-tools/adb
/home/mediocregopher/android-sdk-linux/platform-tools/adb: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped
> ~/android-sdk-linux/platform-tools/adb
bash: /home/mediocregopher/android-sdk-linux/platform-tools/adb: No such file or directory
Clearly the file is there and at the very least executable, why can't bash seem to find it? I've tried adding the platform-tools folder to my path as well as sudo and su-ing, but no matter what it seems like the file is not found. Does anyone know what could be happening?
You're running on a 64bit system and you do not have the 32bit compatibility libraries installed.
The error is actually coming from the fact that it can't find the 32bit ld.so.
If you're using ubuntu/debian, I think you just need to sudo apt-get install ia32-libs and it should work.
For 'modern' versions of Ubuntu (13.10 and higher), the accepted answer is not working anymore: They removed the '32 bit compability libraries' and instead you need to use multiarch packages that happily coexists next to each other. See What happened to the ia32-libs package? on AskUbuntu.
Instead you need to install the 32 bit version of libc:
sudo apt-get install libc6:i386
Next, I encounterd that a 32 bit version of libstdc++ is also required by adb:
sudo apt-get install libstdc++6:i386
Now adb should be working (again).
Android SDK on a 64-bit linux machine shows that some other libraries are required as well. I did not seem to require them as well, but might have had them installed already.
I just installed the Android SDK on my machine. I am running Fedora 14 (64 bit) and the Android kit is r07 for Linux. I am running Eclipse Indigo. I get an error when I try to link to the sdk inside Eclipse, saying :
Failed to get the adb version: Cannot run program "/home/naman/workspace/android-sdk-linux/tools/adb": java.io.IOException: error=2, No such file or directory
The problem is also documented here
Problem with Android SDK on Linux with Eclipse Helios
But with no solutions.
A solution is there for Ubuntu machines--
Android SDK on a 64-bit linux machine
Can someone suggest a similar solution maybe for fedora??
I had the same problem until I figured out that they have moved adb (and then I had updated it automatically).
See if you can see it here (or make Eclipse try here): /home/naman/workspace/android-sdk-linux/platform-tools/adb
Also see if you have the file: /home/naman/workspace/android-sdk-linux/tools/adb_has_moved.txt
This worked like magic
http://beginlinux.com/blog/2009/09/installing-32-bit-support-into-64-bit-fedora-11/
though installing all i686 libs as in
http://beginlinux.com/blog/2009/09/installing-32-bit-support-into-64-bit-fedora-11/comment-page-1/#comment-1514 didn't work.
For Fedora-16 64-bit I solved this as follows:
yum install glibc.i686 glibc-devel.i686
yum install ncurses-libs.i686
yum install libstdc++.i686
After installing, restart Eclipse and Android packages should load.