64位Linux计算机上的Android SDK


97

是否可以在64位linux机器上使用Android SDK进行开发。可用的SDK下载似乎仅适用于32位版本的Linux。

Answers:


42

是的。您需要安装ia32库。请查看Ubuntu Linux故障排除部分

apt-get install ia32-libs
apt-get install sun-java6-jdk

5
ia32-libs无法安装在我的计算机上。请参阅下面的notz答案。
马修·吉利亚德

5
这仅适用于Ubuntu版本引入Multiarch支持之前的版本。现在正确的方法是安装正确的i386软件包
Jacob

具有讽刺意味的是,“正确”答案仅对运行Ubuntu / Gnome的那部分64位计算机正确。Linux的碎片说明“正确”答案是一个更通用的答案,或者是以下所有部分正确答案的组合。我首选一个更笼统的答案,因为有太多可能的变化和更新来确保完整性和永不过时。我的投票将是一个不错的“是的,有可能。RTFM并安装32位/ i386软件包。”,风格与供应商无关的答案。仅供参考-他们不会解决此问题,因为他们希望我们改用Android Studio。
Sinthia V 2015年

该链接上不再有疑难解答部分,而是转到当前的安装说明:developer.android.com/studio/install.html在右上方的平台选择框中选择“ linux”。
amotzg

182

在(K)Ubuntu上,您需要以下32位软件包:

sudo apt-get install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386

要运行仿真器,您需要附加的软件包:

sudo apt-get install libsdl1.2debian:i386

12
非常感谢您提供此答案,您从安装ia32-libs(到处都建议使用)中节省了我的计算机,它与您提到的软件包一起带来了其他无用的依赖。您的解决方案为我的Linux Mint的13
pavel_kazlou

同意以上评论者,ubuntu 12.04 64位
Matthew Gilliard,2012年

4
适用于我的Ubuntu 12.10 64bit。非常感谢!

1
Ubuntu 13.04 64位版的ADT SDK仍然存在相同的问题,该解决方案在那里也对我有用。
2013年

2
也适用于Ubuntu 14.04 64bit。Muchas Gracias!
兰里

34

Android SDK要求:

  • 带有Android SDK的Fedora 17 64位:

    sudo yum install glibc.i686 zlib.i686 libstdc++.i686 ncurses-libs.i686
  • 带有Android SDK的Fedora 20 64bit

    sudo yum install glibc zlib libstdc++ ncurses-libs mesa-libGL-devel adb

1
感谢有关fedora的特定信息。官方帮助仅列出了ubuntu软件包
gspatel 2012年

2
第一次尝试时,出现“错误:受保护的multilib版本:libstdc ++-4.7.2-2.fc17.i686!= libstdc ++-4.7.0-5.fc17.x86_64”。使用yum升级++的libstdc固定
pinoyyid

1
用于fedora 17的命令行仍可用于fedora 21
Sombriks 2015年

在第二种情况下,@ MariuszS是否可以阐明“ 64位Android SDK”的含义。我的理解是,Android SDK具有32位二进制文​​件,这就是为什么我们首先遇到这个问题的原因。
卡洛斯·马卡萨特

我不确定,但大概是在一段时间之前,有两个版本(可能与Eclipse 64位捆绑在一起)。答案更新
MariuszS 2015年

15

对于Debian Wheezy,您必须启用多体系结构,然后按照其他答案中的列出或从tools或platform-tools目录中的二进制文件的需要安装从属库:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386

有关进一步的库,请使用ldd检查所引用的.so文件。

平台工具$ ldd adb                       
    linux-gate.so.1 =>(0xf77bb000)
    librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1(0xf779b000)
    libncurses.so.5 =>找不到
    libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0(0xf7781000)
    libstdc ++。so.6 =>找不到
    libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6(0xf775b000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1(0xf773e000)
    libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6(0xf75db000)
    libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2(0xf75d6000)
    /lib/ld-linux.so.2(0xf77bc000)

因此,继续安装libncurses5:i386libstdc ++ 6:i386即可运行

平台工具$ ./adb 
Android Debug Bridge版本1.0.31
...

谢谢@ user2255304!这对我有用。试图安装Android Studio,并且android-studio/sdk/tools/mksdcard是32位可执行文件。按照上述步骤安装libc6:i386并安装libstdc++6:i386。二进制文件现在工作正常。
Rajkumar S

9

对于Ubuntu 13.1,ia32-libs不再可用。因此,您可以尝试以下一种方法:

sudo apt-get install lib32z1 lib32ncurses5 lib32stdc++6

这些软件包名称也适用于Ubuntu 14.04。在我看来,这是“正确”的方法,因为这些软件包来自amd64体系结构存储库。先前的建议安装:386软件包混合了似乎有风险的体系结构软件包。
Don Park

@DonPark不,没有风险。它称为多体系结构。
Lao Lam

5

在CentOS 6.2上,我可以使用以下工具:

yum install glibc.i686 glibc-devel.i686 libstdc++.i686 zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libXrender.i686 libXrandr.i686


3
也可以在CentOS 7上运行!
菲利普·大卫


4

对于那些正在使用Slackware的人,请单击此处。

我尝试用电流,它的工作原理。

简而言之,您需要通过安装multilib软件包来启用32位支持。

脚步:

1)下载软件包:

> wget -np -nH -r -A txz,tgz \
> http://slackware.com/~alien/multilib/14.0/

2)安装软件包:

~/multilib$ \
> cd \~alien/multilib/14.0/
~/multilib/~alien/multilib/14.0/$ \
> su -c "upgradepkg --reinstall --install-new *.t?z"

3)安装兼容软件包:

~/multilib/~alien/multilib/14.0/$ \
> su -c "upgradepkg --reinstall --install-new *-compat32/*/*.t?z"

重新启动系统,瞧。



1

在Ubuntu 13.10上

须藤apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0


0

您可以自己构建SDK。我会尝试。32位版本非常慢。


0

假设:已安装Android SDK 32位版本

在我的Ubuntu 12 64位操作系统上,我不必安装前面注释中提到的任何软件包。使用安装以下Android SDK Manager-
Tools
Android SDK Tools
Android SDK Platform-tools
Latest Android SDK Build-tools

在最新的Android API(以我为例Android 4.3 (API 18))下:
SDK Platform
ARM EABI v7a System Image

Extras
Android Support Library

警告-我之前尝试过使用该ia32-libs软件包。它安装成功,并且能够运行我的Android应用程序。但是,如果我重新启动计算机,它将永远无法启动。因此,我建议不要安装ia32-libs软件包。如果对您有用,那就太好了。那时可能是仅限于我的PC的问题。


0

上面的问与答略有不同:我正在64位System76笔记本电脑上运行Debian Wheezy(7.0),我已经启用了多体系结构,并且大多数本地Android工具似乎运行良好...直到我尝试构建一个应用。构建失败,因为其中一个资源实用程序需要(32位)libz.so.1。

apt-get安装lib32z1

...为我修复。



0

对于Arch用户:
您必须安装Multilib信息库中的lib32-gcc-libs和lib32-ncurses软件包。(您必须启用

pacman -S lib32-gcc-libs  
pacman -S lib32-ncurses

1
“找不到包”
fungusanthrax
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.