运行Android-studio glibc版本过低的解决办法

ljr@node1 bin$ ./studio.sh Error: dl failure on line 582 Error: failed /export/server/android-studio/jbr/lib/server/libjvm.so, because /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /export/server/android-studio/jbr/lib/server/libjvm.so)

这个错误是因为你的系统缺少 GLIBC_2.18 或更高版本,而 Android Studio 自带的 JDK 需要这个版本的 GLIBC 才能运行。以下是解决这个问题的几种方法:


1. 检查当前系统的 GLIBC 版本

  1. 运行以下命令检查当前系统的 GLIBC 版本:

    bash

    复制

    复制代码
    ldd --version

    你会看到类似以下的输出:

    复制

    复制代码
    ldd (GNU libc) 2.17

    如果版本低于 2.18,则需要升级 GLIBC 或使用其他方法。


2. 方法一:升级 GLIBC

升级 GLIBC 是一个复杂的操作,可能会影响系统的稳定性,因此不推荐在生产环境中使用。如果你仍然想尝试,可以参考以下步骤:

  1. 下载 GLIBC 2.18 或更高版本的源码:

    bash

    复制

    复制代码
    wget http://ftp.gnu.org/gnu/libc/glibc-2.18.tar.gz
  2. 解压并编译:

    bash

    复制

    复制代码
    tar xf glibc-2.18.tar.gz
    cd glibc-2.18
    mkdir build
    cd build
    ../configure --prefix=/usr
    make -j$(nproc)
    sudo make install
  3. 重启系统并验证 GLIBC 版本:

    bash

    复制

    复制代码
    ldd --version

3. 方法二:使用系统自带的 JDK

Android Studio 自带的 JDK 可能不兼容你的系统,你可以尝试使用系统自带的 JDK。

  1. 安装 OpenJDK:

    bash

    复制

    复制代码
    sudo apt-get update
    sudo apt-get install openjdk-11-jdk
  2. 配置 Android Studio 使用系统 JDK:

    • 打开 Android Studio 的安装目录,找到 studio.sh 文件。

    • 编辑 studio.sh,在文件开头添加以下内容:

      bash

      复制

      复制代码
      export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
      export PATH=$JAVA_HOME/bin:$PATH
  3. 重新运行 studio.sh

    bash

    复制

    复制代码
    ./studio.sh

4. 方法三:使用旧版本的 Android Studio

如果你的系统无法升级 GLIBC,可以尝试下载一个旧版本的 Android Studio,它可能自带了兼容的 JDK。

  1. 访问 Android Studio 旧版本下载页面

  2. 下载一个较旧的版本(比如 2021.x 或更早)。

  3. 解压并运行:

    bash

    复制

    复制代码
    tar xf android-studio-2021.x.x.x-linux.tar.gz
    cd android-studio/bin
    ./studio.sh

5. 方法四:使用远程开发环境

如果你的本地环境无法满足要求,可以考虑使用远程开发环境:

  1. 使用云服务器(如 AWS、Google Cloud、阿里云等),安装一个支持 GLIBC 2.18 或更高版本的 Linux 发行版(如 Ubuntu 20.04 或 CentOS 8)。

  2. 在远程服务器上安装 Android Studio 和 Flutter。

  3. 通过 SSH 或远程桌面连接到服务器进行开发。


6. 方法五:使用 Docker

如果你不想修改本地环境,可以使用 Docker 创建一个隔离的开发环境。

  1. 安装 Docker:

    bash

    复制

    复制代码
    sudo apt-get update
    sudo apt-get install docker.io
  2. 拉取一个包含 Android Studio 的 Docker 镜像:

    bash

    复制

    复制代码
    docker pull budtmo/docker-android:studio
  3. 运行 Docker 容器:

    bash

    复制

    复制代码
    docker run -it --privileged -v /dev/bus/usb:/dev/bus/usb -p 5901:5901 -p 6080:6080 budtmo/docker-android:studio
  4. 通过 VNC 或浏览器访问 Android Studio。

相关推荐
. . . . .3 天前
react-navtive实战记录
react.js·android-studio
我命由我123454 天前
Android 开发,FragmentPagerAdapter 的 isViewFromObject 方法问题
android·java-ee·kotlin·android studio·android jetpack·android-studio·android runtime
我命由我123456 天前
Android Service - Service 生命周期变化、Service 与 Activity 双向交互
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
我命由我123457 天前
Android 开发问题:Could not find com.github.PicnicSupermarket:FingerPaintView:1.2.
android·github·android studio·安卓·android jetpack·android-studio·android runtime
我命由我123457 天前
Android 开发问题:MlKitException: An internal error occurred during initialization.
android·java·java-ee·android jetpack·android-studio·androidx·android runtime
我命由我1234511 天前
Android 开发问题:项目同时引入了两个包含相同类文件的库(AndroidX 库、旧版本支持库),导致了重复类错误
android·java·java-ee·android studio·android-studio·androidx·android runtime
我命由我1234511 天前
Retrofit - URL 格式错误问题、支持 HTTP 与 HTTPS
java·http·https·java-ee·android studio·android-studio·retrofit
我命由我1234512 天前
Bugly - Bugly 基本使用( App 质量追踪平台)
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
我命由我1234515 天前
Android Framework P4 - ServiceManager 进程
android·c语言·c++·visualstudio·android studio·android-studio·android runtime
我命由我1234520 天前
Android 开发问题:TextView 内容超过宽度时,默认不会换行
android·开发语言·java-ee·android studio·android jetpack·android-studio·android runtime