本文适合于想了解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/
大家还有什么问题,请详细描述在回复中,大家可以一起来解决。

更多相关文章

  1. Android中实现SQLite数据库CRUD操作的两种方式
  2. android sqlite批量插入数据速度解决方案
  3. 一个大型新闻app的骨架(android)
  4. Android(安卓)UI规范,就这么不受待见吗?
  5. Android(安卓)SQLite性能分析
  6. Android(安卓)4.2 通过修改FrameWork源码实现动态隐藏导航栏,实现
  7. Android(安卓)Matrix理论与使用详解
  8. Android消息机制之Handler
  9. android的混乱

随机推荐

  1. TextView 内容居中
  2. Android中的数学问题
  3. Could not find com.android.tools.build
  4. android pppoe
  5. Looper物件之角色(Demo 2)
  6. Android : 巧用RadioGroup作为Tab切换的
  7. Hello Android(安卓)- Android(安卓)对话
  8. android获取联系人信息
  9. Android(安卓)with Emulator Shell
  10. databinding简单使用(java+kotlin)