adb 与log

1 android adb root方法
adb shell
$ su

2 查询模拟器/设备实例
adb devices
输出都有如下固定的格式
0123456789ABCDEF    device

3 给特定的模拟器/设备实例发送命令
adb -s <serialNumber> <command>
adb -s 0123456789ABCDEF install helloWorld.apk

4 安装软件
adb install <path_to_apk>
adb -s 0123456789ABCDEF install helloWorld.apk

5 转发端口
adb forward tcp:6100 tcp:7100

6 从模拟器/设备中拷入或拷出文件
adb pull <remote> <local>
adb push <local> <remote>
adb push foo.txt /sdcard/foo.txt

7 启动shell命令
adb [-d|-e|-s {<serialNumber>}] shell <shellCommand>
adb [-d|-e|-s {<serialNumber>}] shell
通过操作CTRL+D 或exit 就可以退出shell远程连接.

8 android开发中遇到sqlite3 not found
adb shell
1)挂载 /system目录为可读写
$ adb shell # mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
把sqlite3 push到设备中
$ adb push sqlite3 /system/xbin
3)修改权限
# chmod 4755 /system/bin/sqlite3
// 非常非常重要的测试 试着执行sqlite3看是否能执行,如果不能执行则需要把sqlite3的依赖库文件再push到设备中, 如果sqlite3可以正常执行则不用push libncurses.so(此库文件是从2.3.5中提取,不保证都能用,经测试4.0.3上可用.如果不肯用,大家方可自行创建虚拟机,从虚拟机中提取)
sqlite3
adb push libncurses.so /system/lib
还原 /system为只读
# mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system

9 通过远程shell端运行sqllite3连接数据库
 adb -s emulator-5554 shell
sqlite3 /data/data/com.example.google.rss.rssexample/databases/rssitems.db
.help;
.dump; //显示表的内容
.schema; //可以显示出已经存在的表空间的SQL CREATE结果集
.exit;

10 UI/软件 试验程序 Monkey
adb shell monkey -v -p your.package.name 500

11 启用logcat日志
$ adb logcat
# logcat
过滤日志输出
    * 优先级有下列集中,是按照从低到高顺利排列的:
          o V — Verbose (lowest priority)
          o D — Debug
          o I — Info
          o W — Warning
          o E — Error
          o F — Fatal
          o S — Silent (highest priority, on which nothing is ever printed)

下面的过滤语句指显示优先级为warning或更高的日志信息:
adb logcat *:W
控制日志输出格式
    * brief — Display priority/tag and PID of originating process (the default format).
    * process — Display PID only.
    * tag — Display the priority/tag only.
    * thread — Display process:thread and priority/tag only.
    * raw — Display the raw log message, with no other metadata fields.
    * time — Display the date, invocation time, priority/tag, and PID of the originating process.
    * long — Display all metadata fields and separate messages with a blank lines.
adb logcat -v thread
查看可用日志缓冲区
    * radio — 查看缓冲区的相关的信息.
    * events — 查看和事件相关的的缓冲区.
    * main — 查看主要的日志缓冲区
[adb] logcat [-b <buffer>]
adb logcat -b radio
Logcat命令列表
Option    Description
-b <buffer>     加载一个可使用的日志缓冲区供查看,比如event 和radio . 默认值是main 。具体查看Viewing Alternative Log Buffers.
-c     清楚屏幕上的日志.
-d     输出日志到屏幕上.
-f <filename>     指定输出日志信息的<filename> ,默认是stdout .
-g     输出指定的日志缓冲区,输出后退出.
-n <count>     设置日志的最大数目<count> .,默认值是4,需要和 -r 选项一起使用。
-r <kbytes>     每<kbytes> 时输出日志,默认值为16,需要和-f 选项一起使用.
-s     设置默认的过滤级别为silent.
-v <format>     设置日志输入格式,默认的是brief 格式,要知道更多的支持的格式,参看Controlling Log Output Format .

输出logcat到指定文件
adb logcat >> log.txt

打印内核日志
adb shell
dmesg

通过adb命令获取Android手机的IP地址
adb shell netcfg
adb shell ifconfig rmnet0

获取设备的ROOT权限
adb remount

Android 把 log 保存到 SD卡方便调试
1. 连接USB
2. 执行adb shell登到手机
3. logcat -v time -f /sdcard/locker.log *:W &

常用的ADB命令

        1. 显示系统中全部Android平台:

    android list targets

2. 显示系统中全部AVD(模拟器):

    android list avd

3. 创建AVD(模拟器):

    android create avd --name 名称 --target 平台编号

4. 启动模拟器:

    emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)

5. 删除AVD(模拟器):

    android delete avd --name 名称

6. 创建SDCard:

    mksdcard 1024M ~/名称.img

7. AVD(模拟器)所在位置:

    Linux(~/.android/avd)      Windows(C:\Documents and Settings\Administrator\.android\avd)

8. 启动DDMS:

    ddms

9. 显示当前运行的全部模拟器:

    adb devices

10. 对某一模拟器执行命令:

      abd -s 模拟器编号 命令

11. 安装应用程序:

      adb install -r 应用程序.apk

12. 获取模拟器中的文件:

      adb pull <remote> <local>

13. 向模拟器中写文件:

      adb push <local> <remote>

14. 进入模拟器的shell模式:

      adb shell

15. 启动SDK,文档,实例下载管理器:

      android

16. 缷载apk包:

      adb shell

      cd data/app

      rm apk包

      exit

      adb uninstall apk包的主包名

      adb install -r apk包

17. 查看adb命令帮助信息:

      adb help

18. 在命令行中查看LOG信息:

      adb logcat -s 标签名

19. adb shell后面跟的命令主要来自:

      源码\system\core\toolbox目录和源码\frameworks\base\cmds目录。

20. 删除系统应用:

      adb remount (重新挂载系统分区,使系统分区重新可写)。

      adb shell

      cd system/app

      rm *.apk

21. 获取管理员权限:

      adb root

22. 启动Activity:

      adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。

23、发布端口:

    你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:
adb forward tcp:5555 tcp:8000

24、复制文件:

    你可向一个设备或从一个设备中复制文件,
     复制一个文件或目录到设备或模拟器上:
  adb push <source> <destination></destination></source>
      如:adb push test.txt /tmp/test.txt
     从设备或模拟器上复制一个文件或目录:
     adb pull <source> <destination></destination></source>
     如:adb pull /addroid/lib/libwebcore.so .

25、搜索模拟器/设备的实例:

     取得当前运行的模拟器/设备的实例的列表及每个实例的状态:
    adb devices

26、查看bug报告:
adb bugreport
27、记录无线通讯日志:

    一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
    adb shell
    logcat -b radio

28、获取设备的ID和序列号:

     adb get-product
     adb get-serialno

29、访问数据库SQLite3

     adb shell
     sqlite3


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值