【发布时间】:2011-02-12 05:19:13
【问题描述】:
是否可以在 64 位 linux 机器上使用 Android SDK 进行开发。可用的 SDK 下载似乎仅适用于 32 位版本的 Linux。
【问题讨论】:
是否可以在 64 位 linux 机器上使用 Android SDK 进行开发。可用的 SDK 下载似乎仅适用于 32 位版本的 Linux。
【问题讨论】:
在 (K)Ubuntu 上,您需要以下 32 位软件包:
sudo apt-get install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386
要运行模拟器,您需要额外的软件包:
sudo apt-get install libsdl1.2debian:i386
【讨论】:
是的,是的。您需要安装 ia32 库。查看Ubuntu Linux troubleshooting section。
apt-get install ia32-libs
apt-get install sun-java6-jdk
【讨论】:
Android SDK 要求:
Fedora 17 64bit with Android SDK:
sudo yum install glibc.i686 zlib.i686 libstdc++.i686 ncurses-libs.i686
Fedora 20 64bit with Android SDK
sudo yum install glibc zlib libstdc++ ncurses-libs mesa-libGL-devel adb
【讨论】:
对于 Debian Wheezy,您必须启用 multiarch,然后安装其他答案中列出的依赖库或工具或平台工具中的二进制文件需要目录:
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:i386和libstdc++6:i386才能运行
平台工具$ ./adb Android 调试桥版本 1.0.31 ...【讨论】:
android-studio/sdk/tools/mksdcard 是 32 位可执行文件。按照上述步骤安装libc6:i386 和libstdc++6:i386。二进制文件现在工作正常。
对于 Ubuntu 13.1,ia32-libs 不再可用。所以,你可以试试这个:
sudo apt-get install lib32z1 lib32ncurses5 lib32stdc++6
【讨论】:
在 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
【讨论】:
【讨论】:
对于那些正在使用 Slackware 的人click here.
我用电流试了一下,效果很好。
简而言之,你需要通过安装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"
重启系统,瞧。
【讨论】:
对于 openSUSE,您可以安装 32 位模式包
su zypper install -t pattern 32bit
【讨论】:
在 Ubuntu 13.10 上
sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
【讨论】:
您可以自己构建 sdk。 我会尝试。 32位版本很慢。
【讨论】:
假设:已安装Android SDK 32位版本
在我的 Ubuntu 12 64 位操作系统上,我不必安装前面 cmets 中提到的任何软件包。使用Android SDK Manager 安装以下内容 -
在Tools下:Android SDK Tools Android SDK Platform-tools Latest Android SDK Build-tools
在最新的 Android API 下(在我的例子中,Android 4.3 (API 18)):SDK PlatformARM EABI v7a System Image
Extras下:Android Support Library
警告 - 我之前曾尝试使用 ia32-libs 包。它安装成功,我能够运行我的 Android 应用程序。但是,如果我重新启动机器,它永远不会启动。因此,我建议不要安装ia32-libs 包。如果它对你有用,那就太好了。也许这是一个仅限于我的电脑的问题。
【讨论】:
对上述问答稍作改动:我在 64 位 System76 笔记本电脑上运行 Debian Wheezy (7.0),我已经启用了多架构,并且大多数原生 Android 工具似乎运行良好......直到我尝试构建一个应用程序。构建失败,因为需要其中一个资源实用程序(32 位)libz.so.1。
apt-get 安装 lib32z1
...帮我修好了。
【讨论】:
对于 AWS Linux,我在 the old AWS Forum post 中找到了解决方案。
sudo yum install mesa-libGL.i686 libXrender.i686 libSM.i686 freetype.i686 libstdc++.i686
【讨论】:
对于 Arch 用户:
您必须安装 Multilib 存储库中的 lib32-gcc-libs 和 lib32-ncurses 软件包。 (你必须enable)
pacman -S lib32-gcc-libs
pacman -S lib32-ncurses
【讨论】: