日期:2014-05-16  浏览次数:20417 次

救砖必备技巧 :ADB ,fastboot

救砖必备技巧 :ADB ,fastboot
2011年08月09日
              ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机).
  它的主要功能有:
  •运行设备的shell(命令行)
  •管理模拟器或设备的端口映射
  •计算机和设备之间上传/下载文件
  •将本地apk软件安装至模拟器或android设备
  ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.
  先说安装方法, 电脑上需要安装客户端. 客户端包含在sdk里. 设备上不需要安装, 只需要在手机上打开选项settings-applications-development-USBdebugging.
  对于Mac和Linux用户, 下载好的sdk解压后, 可以放~或者任意目录. 然后修改~/.bash_profile文件, 设置运行环境指向sdk的tools目录.
  具体是打开~/.bash_profile文件(如果没有此文件也可以自行添加), 在里面加入一行:
  export PATH=${PATH}:sdk目录>/tools
  例如:
  然后就可以使用adb命令了.
  嫌安装麻烦的同学其实也可以省去上面安装步骤, 直接输入完整路径来使用命令,例如:
  对于windows xp用户, 需要先安装usb驱动 android_usb_windows.zip(请自行搜索下载) , 然后如果你只打算使用adb而不想下载整个sdk的话, 可以下载这个单独的adb工具包 adb_win.zip (自行搜索下载) 下载后解压, 把里面 adb.exe 和 AdbWinApi.dll 两个文件放到系统盘的 windows/system32 文件夹里就可以了,如图:
  ADB常用的几个命令
  1. 查看设备
  1.adb devices
  这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
  2. 安装软件
  1.adb install
  这个命令将指定的apk文件安装到设备上
  3. 卸载软件
  1.adb uninstall
  2.adb uninstall -k
  如果加 -k 参数,为卸载软件但是保留配置和缓存文件.
  4. 登录设备shell
  1.adb shell
  2.adb shell
  这个命令将登录设备的shell.
  后面加将是直接运行设备命令, 相当于执行远程命令
  5. 从电脑上发送文件到设备
  1.adb push 
  用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)
  6. 从设备上下载文件到电脑
  1.adb pull 
  用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑
  7. 显示帮助信息
  1.adb help
  这个命令将显示帮助信息
  删除Android系统Rom自带的软件
  Android系统没有卸载Rom自带软件的功能.可能有些同学很想删除废了武功的Youtube,想删除墙那边的Twitter.
  加上Android的快捷方式没法修改没法自己排序没法分页.
  安装的程序太多就会发现原来找到自己想要的东西很难.
  综上所述,我觉得告知各位菜鸟同学如何删除自带的程序是很有必要的一件事情.
  1.确定手机root了,取得了root权限才能删除系统文件呀.
  2.下载Android_db.rar,解压到%windir/%System32下.
  3.手机连接数据线,在电脑上打开cmd,然后输入命令
  adb remount
  adb shell
  su
  执行完成之后,你会看到:
  * daemon not running. starting it now *
  * daemon started successfully *
  4.接着就是Linux命令行模式了,输入
  cd system/app
  你会发现没啥变化,然后输入ls回车.
  这时候列表显示了system/app里面的所有文件,也就是Rom集成的一些软件了.
  5.开始删除吧.比如删除Youtube,他的文件名是Youtube.odex和Youtube.apk
  我们要删除这2个文件,敲入以下命令:
  rm Youtube.*
  重启,Youtube已经删除掉了,注意各位同学千万不要删除你不知道是啥的东西.

  ADB与fastboot的区别:fastboot对应于boot状态,adb对应于android运行状态,也就是说 adb 的指令有效范围只能 是手机还能正常的开机,而且需要手机有权限,然而fastboot的指令,只限于,boot情况,fastboot启动的那个过程,玩过HTC的安卓系统的手机的人 都知道 应该,也就是在那个情况下 可以用这个指令。。
         以上的实际意义是什么?救砖!只是手机砖头的程度不一样,救砖的方式不一样,而已。。手机还能开机,但是比如recovery 损坏,用超级终端刷不方便的,完全可以用adb 刷recovery,别小看这个过程,这是完整救砖的一条必经之路,fastboot 则适用,手机开不了机,还可以进fastboot模式下的 最后救命稻草,也可以通过指令  刷recovery, 最后通过recovery救机。。。