开发者俱乐部

标题: Android开发调试工具ADB的使用 [打印本页]

作者: xman    时间: 2016-12-5 00:56
标题: Android开发调试工具ADB的使用

  ADB(Android Debug Bridge)是Android SDK中的一个工具,  使用ADB可以直接操作管理Android模拟器或者真实的Andriod设备。
  ADB主要功能有:
  1.在Android设备上运行Shell(命令行)
  2.管理模拟器或设备的端口映射
  3.在计算机和设备之间上传/下载文件
  4.将电脑上的本地APK软件安装至Android模拟器或设备上
  1、在使用ADB之前首先看看你的Eclipse中是否已经安装了Android SDK工具包,如下图:

  这个USB 驱动也是需要的,用来连接你的Android设备。

  ADB是一个客户端-服务器端程序, 其中客户端是你用来操作的电脑, 服务器端是android设备。
  2、如果你已经安装了Android SDK 那么你可以在你的SDK目录下找到
  ..\android-sdk-windows\platform-tools  这个目录,ADB工具就放在这里。如图:

  复制这个目录的路径,我们需要在windows的系统设置中将这个路径设置到PATH中,设置完成后我们就可以再CMD窗口中使用ADB了。
  3、我们现启动,我们的andriod虚拟机,然后进入CMD窗口。

  这里的emulator-5554就是我的虚拟机设备
  4、常用的ADB命令
  a) adb install apk文件路径
  这个命令将指定的apk文件安装到设备上
  b) adb uninstall 软件名
  adb uninstall -k 软件名
  如果加 -k 参数,为卸载软件但是保留配置和缓存文件.
  c)adb shell
  这个命令将登录设备的shell
  adb shell command命令
  后面加command命令将是直接运行设备命令, 相当于执行远程命令
  d)adb help
  这个命令将显示帮助信息
  c)adb push 本地路径 远程路径
  从电脑上发送文件到设备
  adb remount 在执行push命令之前我们还需要使用remount命令获取上传文件权限,否则会出现
  Read-only file system 的错误提示信息
  示例如下图

  这里要注意的就是如果你需要向一个二级目录里放文件的时候,一定使用/而不能使用\,原因是android是liunx下的系统,而我们用的是windows。比如:sdcard/aa这样就好啦,否则会提示找不到或者权限不够。
  d)adb get-product
  获取设备的ID
  e)adb get-serialno
  获取设备的序列号
  f)adb devices
  获取当前运行的模拟器/设备的实例的列表及每个实例的状态
  g) adb bugreport
  查看bug报告
  5、常用的ADB Shell命令
  通过adb shell命令进入shell
  a)访问数据库
  sqlite3
  b)记录无线通讯日志
  一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
  logcat -b radio
  c)删除应用
  Android没有提供一个卸载应用的命令,需要自己手动删除:
  cd /data/app
  rm 应用名称.apk
  d)查看目录
  ls
  e)打印或设置当前系统时间
  date
  f)查看内存信息
  cat /proc/meminfo
  g)查看CPU信息
  cat /proc/cpuinfo
  6、删除Android系统Rom自带的软件
  a.确定手机root了,取得了root权限才能删除系统文件呀.
  b.下载Android_db.rar,解压到%windir/%System32下.
  c.手机连接数据线,在电脑上打开cmd,然后输入命令
  adb remount adb shell su  
  执行完成之后,你会看到:
  * daemon not running. starting it now *
  * daemon started successfully *
  d.接着就是Linux命令行模式了,输入
  cd system/app
  你会发现没啥变化,然后输入ls回车.
  这时候列表显示了system/app里面的所有文件,也就是Rom集成的一些软件了.
  e.开始删除吧!比如删除Youtube,他的文件名是Youtube.odex和Youtube.apk
  我们要删除这2个文件,敲入以下命令:
  rm Youtube.*
  重启,Youtube已经删除掉了,注意各位同学千万不要删除你不知道是啥的东西。
  7、sqlite3 adb命令
  进入数据库的两种方式
  第一种:sqlite3 数据库名称.xx
  第二种:adb shell
  sqlite3
.databases
  列出数据库文件名
.tables ?PATTERN?
列出?PATTERN?匹配的表名
.import FILE TABLE
将文件中的数据导入的文件
.dump ?TABLE?   
生成形成数据库表的SQL脚本
.output stdout
  将输出打印到屏幕
.mode MODE ?TABLE?
设置数据输出模式(csv,html,tcl…
.nullvalue STRING
用指定的串代替输出的NULL串
.read FILENAME
执行指定文件中的SQL语句
.schema ?TABLE?
打印创建数据库表的SQL语句
.separator STRING
用指定的字符串代替字段分隔符
.show
打印所有SQLite环境变量的设置
.quit   
退出命令行接口






欢迎光临 开发者俱乐部 (http://xodn.com/) Powered by Discuz! X3.2