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
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