无法在 Ubuntu 18.04 上执行“fastboot”命令

无法在 Ubuntu 18.04 上执行“fastboot”命令

我尝试使用 android-tools/fastboot 命令,例如

fastboot devices

然后我收到错误消息

fastboot: symbol lookup error: fastboot: undefined symbol: _ZN13TemporaryFileD1Ev

我尝试了两种安装方式:

sudo apt install fastboot

sudo apt install android-tools-fastboot

两者的错误信息相同。

以下是一些输出:

pm@dev:~$ which fastboot
/usr/bin/fastboot

pm@dev:~$ dpkg -S /usr/bin/fastboot
fastboot: /usr/bin/fastboot

pm@dev:~$ ldd /usr/bin/fastboot
    linux-vdso.so.1 (0x00007ffca6dbb000)
    libziparchive.so.0 => /usr/lib/x86_64-linux-gnu/android/libziparchive.so.0 (0x00007f097209d000)
    libsparse.so.0 => /usr/lib/x86_64-linux-gnu/android/libsparse.so.0 (0x00007f0971e95000)
    libbase.so.0 => /usr/lib/x86_64-linux-gnu/android/libbase.so.0 (0x00007f0971c8b000)
    libcutils.so.0 => /usr/lib/x86_64-linux-gnu/android/libcutils.so.0 (0x00007f0971a7f000)
    libadb.so.0 => /usr/lib/x86_64-linux-gnu/android/libadb.so.0 (0x00007f097184e000)
    libutils.so.0 => /usr/lib/x86_64-linux-gnu/android/libutils.so.0 (0x00007f097162c000)
    libf2fs_utils.so.0 => /usr/lib/x86_64-linux-gnu/android/libf2fs_utils.so.0 (0x00007f0971429000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f09710a0000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f0970e88000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0970a97000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f097087a000)
    liblog.so.0 => /usr/lib/x86_64-linux-gnu/android/liblog.so.0 (0x00007f0970673000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0970454000)
    libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f0970011000)
    libbacktrace.so.0 => /usr/lib/x86_64-linux-gnu/android/libbacktrace.so.0 (0x00007f096fdf5000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f096fbf1000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f096f853000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f09724c7000)
    libunwind.so.0 => /usr/lib/x86_64-linux-gnu/android/libunwind.so.0 (0x00007f096f60a000)
    lib7z.so => /usr/lib/x86_64-linux-gnu/android/lib7z.so (0x00007f096f219000)

答案1

我也遇到了这个问题,

fastboot: symbol lookup error: fastboot: undefined symbol: _ZN13TemporaryFileD1Ev

我遇到的问题是一个较旧的adb软件包,大约一年前安装的。升级此软件包和配套的android-libadb

apt-get install adb android-libadb

最新版本帮我解决了这个问题。


apt-get 还安装并更新了一大堆其他软件包。进一步调查显示,相关符号由 提供libbase.so.0,而 又可以通过 进行更新

apt-get install android-libbase

我还没有测试过,这是否就足够了,但你可能会摆脱它。

答案2

请确保你已经安装了所有更新,并且你的存储库已正确设置(你拥有所有口袋主要的宇宙多元宇宙受限制的启用所有更新仿生更新仿生安全)如果不确定检查一下

然后运行:

sudo apt-get update # to update package lists
sudo apt-get dist-upgrade # to get newest dependencies

我无法在全新安装并完全更新的 Ubuntu 18.04 LTS 上重现您的问题。

ldd输出与您的输出有几行不同(为了更清楚,删除了地址):

...
libcrypto.so.0 => /usr/lib/x86_64-linux-gnu/android/libcrypto.so.0
libcrypto_utils.so.0 => /usr/lib/x86_64-linux-gnu/android/libcrypto_utils.so.0
libusb-1.0.so.0 => /lib/x86_64-linux-gnu/libusb-1.0.so.0
libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1
...

根据这些差异,我建议安装以下软件包:

sudo apt-get install android-libboringssl android-libcrypto-utils libudev1 libusb-1.0-0

然后重试。

相关内容