Android 安裝 Busybox (adb shell 使用 vi)

Android shell 裡預設沒有 vi 指令的工具, Android 系統去除了標準 Linux 的大多數工具,導致我們 Android 開發上與除錯時特別麻煩, 如果你的 android device 有 root 權限的話,
可以把編譯好的 busybox 推進去使用, 開發上會方便許多, 而且會節省很多時間。

以下內容將開始介紹如何在 Android 安裝 busybox,如果想要了解 busybox 的基本用法可以看這篇

busybox binaries 可以從 https://busybox.net/downloads/binaries/ 下載

查看 Android CPU 架構

可以藉由下列指令查看你的 Android CPU 架構然後下載對應的 busybox binary。

1
adb shell 'cat /proc/cpuinfo' | grep Processor

在 Android 安裝 busybox

我是下載 https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-armv8l,點下去如果沒有下載的話請滑鼠右鍵另存新檔來下載,
安裝前確認 Android 裡有無 /system/xbin 目錄, 本範例是把 busybox 安裝到 /system/xbin

1
2
3
4
5
6
adb root
adb remount

adb push busybox-armv8l /system/xbin/busybox
adb shell 'chmod 755 /system/xbin/busybox'
adb shell '/system/xbin/busybox --install /system/xbin/'

接下來就可以在 adb shell 裡使用 vi 指令了!!!
另外 find, grep, tee, sed, wget 這些工具也都包在裡面可以使用囉~

另外想查看 busybox 有支援什麼其他指令工具的話,可以直接輸入 busybox 指令看看結果。

在 Android 執行 busybox

以 top 指令為例,在 adb shell 下輸入 top 是用原本 Android 的 top (也就是 /system/bin/top),要改使用 busybox 的 top 話請改輸入 busybox top (也就是/system/xbin/top) 即可。

相關主題
BusyBox 基本用法教學
Android adb 基本用法教學