无法在 Ubuntu 中安装 Android Studio

我使用的是 Ubuntu Gnome 14.04,并且安装了 Java8(JDK 和 JRE)。

当我安装 Android Studio 时,一切都正常,但是出现了一条消息:

无法运行 mksdcard SDK 工具

如何正确安装 AndroidStudio,或者如何修复这个问题?

126861 次浏览

假设您正在运行64位的 Ubuntu,建议的“问题 82711”修复应该可以解决您的问题。

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

更新: 对于 Ubuntu 15.10和16.04 sudo apt-get install lib32z1 lib32ncurses5 lib32stdc++6

@ warsong 是对的,只安装 lib32stdc++6解决了问题。

为了下一次使用,我在回答区域重写了@warsong 注释。

sudo apt-get install lib32stdc++6

更新:

Ubuntu 15.04,15.10,16.04 LTS 和 Debian 8

看看这一页

如果在开发计算机上运行64位发行版,则需要首先安装其他包。对于 Ubuntu 13.10(Saucy Salamander)及以上版本,使用 apt-get安装 libncurses5:i386libstdc++6:i386zlib1g:i386包:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386

我知道这个问题是关于 UBUNTU 的,但是我在 Debian Jessie 64位上也遇到过类似的问题,而且战歌建议对它也有效。
当我运行 studio.sh 的时候,android 工作室会启动,但是当我尝试配置 android SDK 的时候,我得到了一个错误
Unable to run mksdcard SDK tool
当我尝试的时候
sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6
出错了
E: Package 'lib32bz2-1.0' has no installation candidate
所以接受了战歌的建议,只尝试安装 lib32stdc + + 6。
sudo apt-get install lib32stdc++6
在此之后,可以将 Android SDK 添加到 Android Studio 中。

运行 Linux Mint

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

对于 Fedora (测试了 Fedora 23/24)运行

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

问题是由于 mksdcard 没有正确安装造成的。

如果您运行的是64位,请执行此操作以修复 mksdcard 问题。

    sudo dpkg --add-architecture amd64
sudo apt-get update
sudo apt-get install libncurses5:amd64 libstdc++6:amd64 zlib1g:amd64

和32位:

    sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386

在 SDK 6.0中,错误消息是不同的,但意思是相同的。

    Unable to run mksdcard

这些选项在 Ubuntu 12.10上都不管用(是的,我需要升级)。然而,我找到了一个简单的解决办法。从这里下载源代码: https://github.com/miracle2k/android-platform_sdk/blob/master/emulator/mksdcard/mksdcard.c。然后使用“ gcc mksdcard.c-o mksdcard”进行编译。备份 SDK tools 子文件夹中的 mksdcard,并替换为新编译的 mksdcard。Android Studio 现在会很满意你的 SDK。

如果你运行 sudo apt-get install lib32z1 lib32ncurses5 libbz2-1.0 lib32stdc++6 然后就收到了这样的信息: “ The following packages have unmet dependencies: lib32stdc++6 : Depends: lib32gcc1 (>= 1:4.1.1)”。

你可以这样做: https://askubuntu.com/questions/671791/lib32stdc6-package-depends-on-gcc-base-but-my-installed-version-is-newer

当你的64位操作系统试图安装 Android SDK 时,这个问题就会出现,而 Android SDK 又试图安装32位二进制文件,这就是兼容性问题。

打开另一个终端并键入

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

将有助于安装所有必需的二进制文件。