在 Fedora 21 上安装 Android Studio 时如何解决“无法运行 mksdcard SDK 工具”?

Posted

技术标签:

【中文标题】在 Fedora 21 上安装 Android Studio 时如何解决“无法运行 mksdcard SDK 工具”?【英文标题】:How to solve "Unable to run mksdcard SDK tool" when installing Android Studio on Fedora 21? 【发布时间】:2015-05-20 15:35:54 【问题描述】:

我正在尝试在 64 位 Fedora 21 系统上安装 android Studio。

我已经安装好 JRE 和 JDK 先决条件,解压 Android Studio 安装包,并从其“bin”目录下发出“sh studio.sh”完成安装。

安装向导失败并显示“无法运行 mksdcard SDK 工具”消息,并建议可能需要 32 位库。

【问题讨论】:

这个 bug 在上游被称为 82711 Ubuntu/Debian Unable to install Android Studio in Ubuntu 也有类似的问题。 Error: Unable to run mksdcard SDK tool in ubuntu的可能重复 【参考方案1】:

此答案适用于 Ubuntu 发行版

如果您运行的是 64 位 Ubuntu,以下修复应该可以解决您的问题:

sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6

更新:

对于 Ubuntu 15.10 和 16(由 tony gil 和 briankip 提供):

sudo apt-get install lib32z1 lib32ncurses5 lib32stdc++6

这也适用于 GNU/Linux Debian 9 (Stretch) x86_64。

【讨论】:

好的,但是对于在 Ubuntu 上引用这个问题的问题已经有几个答案了,并且这个问题指定了 Fedora。由于两个操作系统上的解决方案不同,我不确定您的回答是否能澄清而不是混淆。 这个问题是关于 Fedora 的。对于 Debian/Ubuntu,请参阅 ***.com/q/28847151/1260896 在 ubuntu 15.10 上,我不得不将其更改为 sudo apt-get install lib32z1 lib32ncurses5 lib32stdc++6 在 Ubuntu 16 上,我删除了 lib32bz2-1.0,因为它似乎在存储库中不可用,所以 sudo apt-get install lib32z1 lib32ncurses5 lib32stdc++6 使用这个命令我遇到了问题。正在读取包列表...完成 构建依赖关系树 正在读取状态信息...完成 E:无法找到包 lib32bz2-1.0 E:无法通过 glob 'lib32bz2-1.0' 找到任何包 E:无法通过 glob 找到任何包正则表达式'lib32bz2-1.0'【参考方案2】:

Fedora 项目 Wiki 也有 an article 关于如何设置 Android 开发。

对于 64 位系统,您必须安装这些软件包

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

对于 64 位系统上的 Fedora 22+,您需要使用 dnf 来安装这些软件包

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

【讨论】:

也为我工作。非常感谢。 你实际上并不需要那些 -devel 包。 glibc.i686 libstdc++.i686 zlib.i686 ncurses.i686 libX11.i686 libXrender.i686 libXrandr.i686 足够了,而且要小得多。无论如何,维基链接很棒。【参考方案3】:

请参考这个官方文档 https://developer.android.com/studio/troubleshoot.html#linux-libraries

很快我把sn-ps放在这里

Linux 库

如果您在 64 位 Linux 机器上运行 Android Studio,您可能需要安装一些特定的库,如下所示。

如果您运行的是 64 位版本的 Ubuntu,则需要使用以下命令安装一些 32 位库:

sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 lib32bz2-1.0

如果你运行的是64位Fedora,命令是:

sudo yum install zlib.i686 ncurses-libs.i686 bzip2-libs.i686

请注意,这些说明有一天可能会过时,因此最好关注 /visit the official site 以防止出现未解决的问题

【讨论】:

【参考方案4】:

在 Fedora 24 上使用 su 登录

dnf install compat-libstdc++-296 compat-libstdc++-33 glibc libgcc nss-softokn-freebl libstdc++ ncurses-libs zlib-devel.i686 ncurses-devel.i686 ant

【讨论】:

很难一眼看出这与现有答案有何不同。【参考方案5】:

即使我在 ubuntu 14.04 中安装 Android sdk 时也遇到了同样的错误。 这是一个兼容性问题,您尝试在 64 位系统中安装 Android SDK,而这又需要一些 32 位二进制文​​件才能完成安装。

这是解决问题的步骤。

    打开一个新终端(ctrl + alt +t 或 R-click 和新终端) 粘贴命令 “ sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6 ” 如果操作需要密码,请提供。

就是这样。将安装所有必需的 32 位二进制文​​件。安装完成后,您可以重新安装Android SDK,即安装完成。

找到教程here!

【讨论】:

【参考方案6】:

这里的其他答案似乎不适用于 Fedora。所以在这里我想出了一个经过测试的解决方案:

sudo dnf install compat-libstdc++-296 compat-libstdc++-33 glibc libgcc nss-softokn-freebl libstdc++ ncurses-libs zlib-devel.i686 ncurses-devel.i686 ant

【讨论】:

【参考方案7】:

根据http://forums.fedoraforum.org/showthread.php?t=303238 对问题的讨论,我使用命令安装了几个包

sudo yum install compat-libstdc++-296.i686 compat-libstdc++-33.i686 ncurses-libs.i686 compat-libstdc++-33.x86_64

在成功安装这些(及其依赖项)后,在显示错误的设置向导弹出窗口中单击“重试”允许 Android Studio 的安装继续成功完成。

【讨论】:

Bug 82711 有更多信息。 这也适用于我的 CentOS7(没有 compat-libstdc++-296.i686)。 感谢@DenysVitali,不幸的是这对我不起作用。我必须先打开 multilib 支持。这是由于三个 lib32 库依赖关系,它们是:lib32-fontconfig、lib32-libxrender 和 lib32-mesa。如果您运行的是 32 位 arch 系统,这些将被称为 fontconfig、libxrender 和 mesa 同样的问题。也在 Fedora 25 上工作过。

以上是关于在 Fedora 21 上安装 Android Studio 时如何解决“无法运行 mksdcard SDK 工具”?的主要内容,如果未能解决你的问题,请参考以下文章

在 Fedora 21 上构建对接

如何在CentOS 7 / Fedora 31/30/29上安装ELK Stack

在 fedora 21 上使用自编译 OpenSSL 编译比特币

fedora 21 + win8 开机启动项的顺序设为默认启动win8

Fedora 下面安装FTP服务

Fedora 26/27/28网易云音乐安装