【问题标题】:Unable to install Android Studio in Ubuntu [duplicate]无法在 Ubuntu 中安装 Android Studio [重复]
【发布时间】:2015-05-05 00:14:38
【问题描述】:

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

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

无法运行 mksdcard SDK 工具

如何正确安装 Android Studio,或者如何解决这个问题?

【问题讨论】:

标签: java android ubuntu android-studio 64-bit


【解决方案1】:

假设您运行的是 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

【讨论】:

  • 唯一需要的部分是最后一位,即 lib32stdc++6
  • @warsong,我在 Debian Jessie 64bits 上遇到了同样的问题。安装lib32stdc++6 也解决了我的问题。
  • 我不能这样做。 无法安装某些软件包。这可能意味着您请求了一种不可能的情况,或者如果您使用的是不稳定的发行版,一些必需的软件包尚未创建或已从 Incoming 中移出。以下信息可能有助于解决这种情况: 以下软件包具有未满足的依赖关系:lib32stdc++6 :依赖:lib32gcc1 (>= 1:4.1.1) 但不会安装 E:无法纠正问题,您有破损的包裹。
  • sudo apt-get install lib32bz2-1.0 返回错误:E: Unable to locate package lib32bz2-1.0 E: could not find any package by regex 'lib32bz2-1.0'
  • 对于那些使用 lib32bz2-1.0 有错误的人。你只是在没有它的情况下运行:sudo apt-get install lib32z1 lib32ncurses5 lib32stdc++6
【解决方案2】:

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

为了下次使用,我会在回答区重写@warsongs 评论。

sudo apt-get install lib32stdc++6

更新:

适用于 Ubuntu 15.04、15.10、16.04 LTS 和 Debian 8

【讨论】:

  • 在尝试编译时遇到此错误后,我发现我确实需要lib32z1 包:aapt: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
  • 你的 Ubuntu 版本是多少?我只在 15.04 LTS 中测试过
  • 我也在 Ubuntu 15.04(不是 LTS,顺便说一句;14.04 是 LTS)中测试过。
  • 但是需要完整的库才能在 Android Studio 中运行 gradle :(。"sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6"
  • 问题的范围只是mksdcard故障,除非指定修复一切,所以这被认为是正确的答案。
【解决方案3】:

对于 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

【讨论】:

  • 同时 developer.android.com 包含一个命令。试试dnf install zlib.i686 ncurses-libs.i686 bzip2-libs.i686。这应该是全部。还没试过。
  • developer.android.com 的步骤不适用于 Fedora 24。我已经测试了 dnf install zlib.i686 ncurses-libs.i686 bzip2-libs.i686。这将安装bzip2-libs, glibc, ncurses-libs, nss-softokn-freebl, zlib。安装后仍然出现mksdcard 错误。
【解决方案4】:

我知道这个问题是关于 UBUNTU 的,但是我在 Debian Jessie 64bit 中遇到了类似的问题,warsongs 的建议也适用于它。
当我运行 studio.sh 时,android studio 会启动,但是当我尝试配置 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 中。

【讨论】:

  • 已确认;同样的问题,这代表一个修复。我:Debian 64 位,运行 Stretch(测试)。谢谢。
【解决方案5】:

Checkout this page

如果您在开发机器上运行 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

【讨论】:

    【解决方案6】:

    问题是由于 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
    

    【讨论】:

      【解决方案7】:

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

      【讨论】:

        【解决方案8】:

        对于 Linux Mint 运行

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

        【讨论】:

          【解决方案9】:

          如果你运行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

          【讨论】:

            【解决方案10】:

            当您的 64 位操作系统尝试安装 Android SDK 时会出现此问题,而 Android SDK 又尝试安装一些 32 位二进制文​​件,因此是兼容性问题。

            打开一个额外的终端并输入

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

            将有助于安装所有必需的二进制文件。在此之后,重新开始 Android SDK 安装过程。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2016-10-30
              • 1970-01-01
              • 2018-11-10
              • 1970-01-01
              • 2023-04-10
              • 2013-05-10
              • 1970-01-01
              • 2016-12-02
              相关资源
              最近更新 更多