adb shell 是什么,如何进入?

Posted 微个日光日

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了adb shell 是什么,如何进入?相关的知识,希望对你有一定的参考价值。

本文适合于想了解android系统基础知识,知道大家说的adb shell 到底是怎么回事儿的小白同学。
(主要偏向于windows用户,相信如果你用linux...本文可能已经帮不到你什么了)
一,从操作系统开始
windows、linux、Mac、ios、android、meego..
这个世界上有这么多操作系统呀,看起来风格迥异,相差很多。
但其实它们之间的关系,没有那么远。
它们其实有一个共同的祖先:unix
。。。(中间省过10000字)
经过N多版本的进化,它们的原理并没有什么本质的区别,主要区别是内存的管理和人机交互方式。
二,什么是adb shell
上面的第一部分看起来与第二部分一点儿关系都没有。。。汗~
先说什么是shell, 操作系统运行的本身其实并不需要人来控制。
但人需要告诉操作系统做什么,这个交互程序,就被称为shell。
这里我把shell分成三种:

  • 图形shell:
这种shell有很多种,windows的Explorer.exe,Linux的Gnome/Kde ....
在windows看到的桌面,开始菜单,也是一种图形shell
  • 终端Shell:
终端Shell除了windows下的cmd.exe已经弱化到残废的地步,其他的操作系统都是比较强悍的;
终端Shell最大的特点是字符操作,没有图形,试想,如果你的操作系统显卡驱动崩溃了,绘图功能不举了,这就是最后的稻草了。
事实上,几乎所有的显卡驱动都是在终端Shell下编写,然后用于绘制图形Shell....
特别是在linux\\mac\\android下面,终端Shell是灰常的强大的。
如:bash\\zsh\\....
  • 其他Shell:
还有很多,与本文无关,不讨论。

OK, 说到这儿,大家都应该明白了,adb shell ,其实就是连接到咱们的KF(android)的终端shell。举个例子,我们可以在RE管理器里把一个文件从/sdcard/ 复制到/sbin..
操作还是比较麻烦的,但在adb shell中可以这么做:
cp /sdcard/a.txt /sbin/

二,如何在windows下进入adb shell
这个小节真的不想写,因为windows下的终端Shell工具本身太残废了。。。
不过太多人使用windows了,无奈之中,好吧。。。
大家还记得一键Root的那个程序吧,其实看了本文之后,稍加研究,大家应该可以理解那个批处理中的所有命令。
OK,我们开始进入adb shell吧。。。
1. 进入windows的终端Shell:要进入KF的终端shell ,我们要从操作系统的shell来连接。
从上一小节我们就知道了,linux/mac下用“终端”程序就好;而windows, windows键+R , 然后输入 cmd 按回车,出来个小小窗口,黑黑的,这个可爱的窗口就是windows的Shell了。
2. 连接到KF的shell:这个步骤非常简单,直接进入到我们的adb.exe程序所在目录,执行adb shell就可以。
相信看了上面这句话,有人会迷失。。。说实际操作吧:
在本帖附件下载那个adb.zip,解压到c盘的kf目录。然后在小黑窗口输入:
  1. C:\\Users\\Tony>
  1. c:> cd c:\\kf
  1. c:\\cf> adb shell
  1. * daemon not running. starting it now *
  1. * daemon started successfully *
  1. $
复制代码

三,如何在linux/mac下进入adb shell

把附件解压,如果你是Linux:
cp -r .android ~
./adb-linux shell
如果你是mac:
cp -r .android ~
./adb-mac shell
没错,就是这么简单,而且,无需安装任何驱动,也不会有任何问题。
OK,这样你就进入到KF的终端shell中了,本文就到这里了。
=================================================================

下面展示一下这个shell的一起操作:
  1. 使用root用户,拥有最高权限:
  1. su root

  1. 让整个系统文件都可以有权限操作:
  1. mount -o remount,rw rootfs /system

  1. 复制一个文件到另一个地方:
  1. cp /xx/xx.xx /oo/

  1. 删除一个文件:
  1. delete /oo/xx.xx

  1. 重启:
  1. reboot
复制代码

一些连接问题:
(费话:windows这个坑爹的系统,问题多多,我不知道如果要把windows下全部的操作写出来要多少字。。。)
为什么adb shell命令会返回error: device not found?
这个问题竟然是你的碗豆荚之类的软件给kindle安装的驱动导致的。
需要强制安装下载压缩包里usb_driver里带的驱动。
然后把附件压缩包里的.android 文件夹放到你的用户目录,如 C:\\Users\\Tony
关于这个问题,有个图文教程,看这里:
http://rootkindlefire.com/kindle-fire-root/how-to-root-kindle-fire/
大家还有什么问题,请详细描述在回复中,大家可以一起来解决。

以上是关于adb shell 是什么,如何进入?的主要内容,如果未能解决你的问题,请参考以下文章

如何启动adb shell命令

如何启动adb shell命令?

如何用adb shell 指令获得android当前的activity

如何在android程序中执行adb shell命令

利用adb shell 查看当前activity

如何获得Android设备名称