偶尔,我会想在我的 Android 设备上编辑一个文件,比如 /system/build.prop 或 /etc/hosts。我发现最简单的方法是:
c:\> adb shell
$ su
# vi /etc/hosts
如果我使用的是 Linux,这可以正常工作。但是,在使用 Windows 时尝试在我的手机上运行 vi 会导致 vi 屏幕出现奇怪的字符。我假设这是因为cmd不支持 ANSI 控制字符。
有什么办法可以解决这个问题(例如,一个可以完成这项工作的 cmd 替代品)?
这是您在 2012 年的问题的较晚答案。我发现如果我运行 Windows PowerShell,我可以在 adb shell 下执行“vi”。
启动 PowerShell(使用您的 Android SDK 位置,而不是我的)
PS C:\Users\Me> cd Downloads\Android\Sdk\Platform-Tools
PS C:\Users\Me\Downloads\Android\Sdk\Platform-Tools> .\adb shell
root@vbox86p:/ # cd data/data/com.mycorporation.myproj/shared_prefs
root@vbox86p:/data/data/com.mycorporation.myproj/shared_prefs # vi log_prefs
我只使用了简单的 vi 命令,如 'o'、'esc' 和 ':wq',但它在全屏时效果很好(在 Windows 命令提示符中不会看到任何垃圾)。
我从来没有遇到过你的确切问题,但似乎Cygwin是一个不错的选择。
您基本上需要的是一个真正的命令行... Windows 上的 Unix 风格的工具?MinGW http://www.mingw.org/是 Cygwin 的替代品,值得研究。
我终于找到了一个在 Windows 2012 R2 中工作的工具。你需要运行cmder 可以在这里找到下载
然后运行
cmder
转到 adb 文件夹,
cd XXX
然后
adb shell
su
cd /system/etc
vi hosts
正确显示