adb 工具使用

adb工具(通用的调试工具、debug工具)&操作命令详解




adb(Android Debug Bridge)是Android提供的一个通用的调试工具,说白了就是debug工具。借助这个工具,我们可以管理设备或手机模拟器的状态。
个人常用功能
      1、在设备上运行shell命令
      2、安装卸载程序
      3、推送文件到设备中
      4、从设备中推送文件到PC端
      5、快速重启
工具需求
      各机型不同不做详细介绍,请在自己机型区寻找方法
      1、设备驱动(必须)
      2、设备Rooted(非必须)
工具下载  adb.rar(234.52 KB, 下载次数: 35668)
个人放在当前用户的工作目录下,建议大家也可以这样做,打开CMD就可以用,不需要再cd到其他目录!

常用操作命令
  1. 查看设备
  adb devices
这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
1.jpg
  2.安装软件
  adb install
adb install <apk文件路径> :这个命令将指定的apk文件安装到设备上
adb install  -r <apk文件路径> :如果加-r参数会覆盖原来安装的软件并保留数据
注意:apk文件名不要使用中文且不要有空格号

2.jpg

adb常见安装错误提示说明

3.jpg

  3. 卸载软件
      adb uninstall
adb uninstall <包名>
adb uninstall -k <包名>
如果加 -k 参数,卸载软件但是保留配置和缓存文件.

1.jpg
注意:
后面跟的是包名,而不是软件名,很多人都说怎样卸载都不行,无论是应用程序名字还是包名加应用名都不行,也就是这个原因,包名一般就选择数字前面的一段名称即可!


  4. 进入设备或模拟器的shell
  adb shell
通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令,另外如果只想执行一条shell命令,可以采用以下的方式:
  adb shell [command]
如:adb shell ls列出当前目录下的内容。

2.jpg

  5. 从电脑上发送文件到设备
  adb push <本地路径> <远程路径>
用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)

3.jpg

  6. 从设备上下载文件到电脑
  adb pull <远程路径> <本地路径>
用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑

1.jpg

      7.挂载system读写
      adb remount              
常用于系统目录操作,或许系统目录读写权限

2.jpg

      8.重新启动设备
adb reboot                     重新启动
adb reboot recovery      重新启动到recovery
adb reboot bootloader  重新启动到bootloader
      9.写脚本常用的几个命令
adb wait-for-device 等待设备响应         常用于安装之类的脚本中
adb version             查看adb版本         常和if语句搭配用于检测是否存在adb工具
adb get-state          判断设备状态         常用于脚本刷机时的设备状态判断
      10. 显示帮助信息
adb help
.......
本人常用的命令如上,没有过的也就不给大家写了,因为我也不不太了解其他命令的具体用处!

二楼:
个人常用的几个脚本和大家分享


三楼:adb的使用时一些常会用到的DOS/Linux命令


[ 本帖最后由 暖阳下一滴雨露 于 2011-8-17 11:31 编辑 ]
 

使用道具举报

  

火星级Phone友

手机中国

Rank: 13Rank: 13Rank: 13

  • TA的每日心情
    开心
    2013-7-22 15:19:16

签到天数: 1 天

[LV.1]初来乍到

积分
202636
帖子
2123
金币
96359
成就
320
沙发
发表于 2011-8-17 11:16:03 | 只看该作者

个人常用的几个脚本和大家分享
      



因为做ROM或者汉化是都很常用,所以就没有写出工具箱之类的东西,都是单个单个的形式,和大家分享一下,希望大家喜欢!申明:

根据个人工作路径和习惯写的脚本不通用,仅供大家参考使用
本人adb工具位于用户工作目录:C:\Users\LBW>
一、软件安装脚本
脚本存放位置:桌面
使用方法:手机连接电脑,直接拖动apk文件到脚本上即可安装
[
注意:apk文件名不得为中文且建议不要带有空格




脚本代码
  • @echo off
  • title install
  • color 0A
  • echo 正准备安装
  • echo "%~f1"
  • cd "%~dp0"
  • cd ..
  • adb wait-for-device
  • adb install -r "%~f1"
  • pause
  • 安装完毕
复制代码

二、软件卸载脚本
脚本存放位置:用户工作目录
使用方法:
手机连接电脑,打开CMD,输入uninstall打开;
输入1或者2,选择系统软件或者普通软件;


输入包名卸载软件,back返回主页,exit退出。



脚本代码
  • @echo off
  • title uninstall
  • color 0A
  • :start
  • cls
  • echo 请输入要卸载的软件类型
  • echo 1. system
  • echo 2. data
  • SET /P menuna=请选择后回车:
  • IF %menuna%==1 set apktype=system
  • IF %menuna%==2 set apktype=data
  • :unstall
  • cls
  • echo %apktype%/app文件列表
  • echo ------------------------------------------------------------------------------
  • adb shell ls %apktype%/app
  • echo ------------------------------------------------------------------------------
  • echo 软件包名在AndroidManifest.xml中 package="packageName"
  • echo 如果看到这种文件名com.wd.AndroidDaemon-1.apk
  • echo 可以直接右键选择标记复制包名com.wd.AndroidDaemon
  • set /P INPUT=请输入软件包名(输入back返回主页exit退出): %=%
  • if %INPUT%==exit exit
  • if %INPUT%==back goto start
  • adb uninstall %INPUT%
  • pause
  • goto unstall

复制代码

三、推送文件到设备
脚本存放位置:用户工作目录
使用方法:
push <桌面文件名>  <设备中完整路径和文件名>


脚本代码
  • @echo off
  • title push
  • adb push ./desktop/%1 %2
  • echo 推送文件%1成功
  • pause
  • cls

复制代码

四、从设备推送文件到PC
脚本存放位置:用户工作目录
使用方法:
pull <设备中完整路径和文件名> <桌面文件名>


脚本代码
  • @echo off
  • title pull
  • adb pull  %1 ./desktop/%2
  • echo 推送文件%1成功
  • pause
  • cls

复制代码

五、重新启动
脚本存放位置:用户工作目录
使用方法:
手机连接电脑,打开CMD,输入reboot打开;
输入1、2或者3,选择重新启动方式。
[

脚本代码
  • @echo off
  • title reboot
  • color 0A
  • cls
  • echo 请输入要卸载的软件类型
  • echo 1. 重新启动
  • echo 2. 重新启动到recovery
  • echo 3. 重新启动到bootloader
  • SET /P menuna=请选择后回车:
  • IF %menuna%==1 adb reboot
  • IF %menuna%==2 adb reboot recovery
  • IF %menuna%==3 adb reboot bootloader
  • echo 正在重新启动,请等待...
  • pause

复制代码

当然还有adb和一些linux shell脚本以及其他工具结合起来的强大功因为不属于本帖内容故都没能展示给大家,希望大家自己探索探索!


[ 本帖最后由 暖阳下一滴雨露 于 2011-8-17 11:26 编辑 ]
 

举报

  

火星级Phone友

手机中国

Rank: 13Rank: 13Rank: 13

  • TA的每日心情
    开心
    2013-7-22 15:19:16

签到天数: 1 天

[LV.1]初来乍到

积分
202636
帖子
2123
金币
96359
成就
320
板凳
发表于 2011-8-17 11:29:21 | 只看该作者

adb的使用和一些常会用到的DOS/Linux命令



1、DOS常用命令(不会用的自己搜索学习)
  • cd——改变当前目录
  • dir——显示文件夹内容
  • md——建立子目录
  • copy——拷贝文件
  • move——移动文件
  • del——删除文件
  • cls——清屏
  • attrib——显示文件的(文件)属性

复制代码

2、linux常用命令(不会用的自己搜索学习)
  • cd——改变当前目录
  • pwd——查看当前所在目录完整路径
  • ls——查看目录或者文件的属*,列举出任一目录下面的文件
  • mkdir——建立目录
  • cp——拷贝文件
  • rm——删除文件和目录
  • mv——移走目录或者改文件名
  • chmod/chown——权限修改
  • clear——清屏
  • mount——加载一个硬件设备
  • su——在不退出登陆的情况下,切换到另外一个人的身份
  • grep——文本内容搜索
  • find——文件或者目录名以及权限属主等匹配搜索
  • kill——可以杀死某个正在进行或者已经是dest状态的进程
  • df——命令用来检查文件系统的磁盘空间占用情况

复制代码

3、adb的详细介绍


 

举报

  

火星级Phone友

手机中国

Rank: 13Rank: 13Rank: 13

  • TA的每日心情
    开心
    2013-7-22 15:19:16

签到天数: 1 天

[LV.1]初来乍到

积分
202636
帖子
2123
金币
96359
成就
320
地板
发表于 2011-8-17 11:40:26 | 只看该作者

bootimg的详细介绍&使用


      adb的强大之处在于可以在PC端直接操控手机,可以说是通用的工具!那么今天带来的这款工具的强大,估计会让爱好者灰常之兴奋,用好这款工具你就可以动手修改boot.img了,而不是简简单单的精简ROM或者美化美化加加字体等每个人都可以完成的工作!
个人常用功能
      1、解包/打包boot.img/recovery.img
      2、解包/打包ramdisk
      3、解包data/system.img
      4、解密/生成rle加密图片(开机第二屏图片,不是开机动画哦)
      另外:还支持解包updata.app(本人未用过)

背景知识
一、Android手机的文件系统
Android手机的文件系统有许多存储器组成,以下是在adb shell下面的输出:
#
  • cat/proc/mtd

复制代码


注意,不同的手机在上述存储设备的顺序可能会各不相同!一定要检查您的手机,确定在以下的操作中选择正确的设备号(mtdX,这个X的序号一定要检查清楚)。
根目录以及分区的定义(在Android源代码的root.c文件中定义)
根目录:Linux 块设备/挂载点/文件系统大小描述
BOOT:/dev/mtdblock[?]/(RAM)Raw内核、内存盘和引导配置。
DATA:/dev/mtdblock5/data/yaffs291904kb用户、系统配置,软件配置以及软件(没有a2sd的话)
CACHE:/dev/mtdblock4/cache/yaffs230720kbOTA缓存,recovery/更新配置及临时文件夹
MISC:/dev/mtdblock[?]N/A Raw,[?]kb(等待添加)
PACKAGE:(相对于刷机包)N/A  刷机包的伪文件系统。
RECOVERY:/dev/mtdblock[?]/(RAM)Raw,[?]kbrecovery和更新环境的内核和内存盘。类似于BOOT:。
SDCARD:/dev/mmcblk0(p1)/sdcard/fat3232MB-32GBTF卡。通常刷机包就放在这里。
SYSTEM:/dev/mtdblock3/system/yaffs292160kb系统分区,静态且是只读的。
TMP: /tmp/(RAM)标准的Linux临时文件夹在关机/重启时清空。


您首先应该要做的事情是使用您的recovery对您的ROM进行备份,以免操作失误照成数据的丢失!

二、boot和recovery映像的文件结构
boot和recovery映像并不是一个完整的文件系统,它们是一种android自定义的文件格式,该格式包括了2K的文件头,后面紧跟着是用gzip压缩过的内核,再后面是一个ramdisk内存盘,然后紧跟着第二阶段的载入器程序(这个载入器程序是可选的,在某些映像中或许没有这部分)。

/*
** +-----------------+
** | boot header    | 1 page
** +-----------------+
** | kernel              | n pages  
** +-----------------+
** | ramdisk           | m pages  
** +-----------------+
** | second stage  | o pages
** +-----------------+

**
** n = (kernel_size + page_size - 1) / page_size
** m = (ramdisk_size + page_size - 1) / page_size
** o = (second_size + page_size - 1) / page_size
**
** 0. all entities are page_size aligned in flash
** 1. kernel and ramdisk are required (size != 0)
** 2. second is optional (second_size == 0 -> no second)
** 3. load each element (kernel, ramdisk, second) at
**    the specified physical address (kernel_addr, etc)
** 4. prepare tags at tag_addr.  kernel_args[] is
**    appended to the kernel commandline in the tags.
** 5. r0 = 0, r1 = MACHINE_TYPE, r2 = tags_addr
** 6. if second_size != 0: jump to second_addr
**    else: jump to kernel_addr
*/

boot的ramdisk映像是一个最基础的小型文件系统,它包括了初始化系统所需要的全部核心文件,例如:初始化init进程以及init.rc(可以用于设置很多系统的参数)等文件。
以下是一个典型的ramdisk中包含的文件目录列表:
│  default.prop
│  init
│  init.goldfish.rc
│  init.rc
│  init.swift.rc
│  initlogo.rle               //开机第二屏图片
│  ueventd.goldfish.rc
│  ueventd.rc
│  ueventd.swift.rc

├─data
├─dev
├─proc
├─sbin
│      adbd

├─sys
└─system

recovery的ramdisk映像包含了一些额外的文件,例如一个叫做recovery的二进制程序,以及一些对该程序支持性的资源图片文件(当您按下home+power组合键的时候就会运行这个recovery程序)。典型的文件列表如下:
│  default.prop
│  init
│  init.rc
│  initlogo.rle              //开机第二屏图片
│  ueventd.goldfish.rc
│  ueventd.rc
│  ueventd.swift.rc

├─data
├─dev
├─etc
│      recovery.fstab

├─proc
├─res
│  │  keys
│  │
│  └─images
│          icon_clockwork.png
│          icon_error.png
│          icon_installing.png
│          indeterminate1.png
│          indeterminate2.png
│          indeterminate3.png
│          indeterminate4.png
│          indeterminate5.png
│          indeterminate6.png
│          progress_empty.png
│          progress_fill.png

├─sbin
│      adbd
│      e2fsck
│      fix_permissions
│      killrecovery.sh
│      mke2fs
│      nandroid-md5.sh
│      parted
│      recovery
│      sdparted
│      tune2fs

├─sys
├─system
│  └─bin
└─tmp
三、system系统镜像的文件结构
请点击:Android系统文件夹结构解析
四、data、cache、sdcard
个人认为没有介绍的必要!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值