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
6adb 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
) 即可。