在 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 工具”?的主要内容,如果未能解决你的问题,请参考以下文章
如何在CentOS 7 / Fedora 31/30/29上安装ELK Stack
在 fedora 21 上使用自编译 OpenSSL 编译比特币