Android开发之adb命令

来源:互联网 发布:飞车k24数据 编辑:程序博客网 时间:2024/04/30 14:43

adb是Android系统中非常重要的一个命令工具,很多人知其一不知其二,在此笔者系统整理一下,以方便他人学习。

Android下的命令工具主要放置在sdk下的platform-tools目录和tools目录,platform-tools目录下的工具如下:

dx.bat :  .dex转译工具
aapt.exe:
 android application package tools 应用打包工具
adb.exe :
  调试桥工具(android 与 windows间的桥梁)
a
idl.exe :

tools目录下的工具主要有:

android.bat : 

emulator.exe :

ddms :dalvik debug manager system. dalvik虚拟机调试管理系统

monitor.bat :

monkeyrunner.bat : 测试工具

sqlite3.exe  :数据库工具

mksdcard.exe :

draw9patch.bat :9PATCH图片制作工具。

在这里,我们来介绍一下其中非常重要的一个命令:adb命令

1.关闭adb服务

adb kill-server

2.启动adb服务

adb start-server

3.更出当前运行的全部Android设备(包括模拟器和手机)

adb devices

4.安装应用程序到Android设备(当前只有一个设备运行时)

adb install APK_NAME

如:adb install G:\HelloWorld.apk

5.卸载应用程序(当前只有一个设备运行时),卸载时要输入指定的包名

adb uninstall PACKAGE_NAME

如:adb uninstall com.love.helloworld

6.安装应用程序到指定Android设备(当前有多个设备运行时)

adb -s emulator-5554 install APK_NAME

如: adb -s emulator-5554 install G:\HelloWorld.apk

7.卸载指定Android设备上的应用程序(当前有多个设备运行时),卸载时要输入指定的包名

adb -s emulator-5554 uninstall PACKAGE_NAME

如:adb -s emulator-5554 uninstall com.love.helloworld

8.卸载应用程序时,保留数据和缓冲目录,只卸载应用程序。

adb uninstall -k PACKAGE_NAME

如:adb uninstall -k com.love.helloworld

9.从Android设备导出文件到电脑。

adb pull <REMOTE_PATH>  <LOCAL_PATH>

如:adb pull /mnt/sdcard/b.jpg  G:/images/a.jpg

10.从电脑导入文件到Android设备

adb push  <LOCAL_PATH>   <REMOTE_PATH>

如:adb push  G:/images/a.jpg   /sdcard/b.jpg

11.挂载到Linux终端,以运行Linux命令。该命令相当于相当于windows中的cmd。

adb shell

子命令如下:

#ps :列出所有进程文件
#ls :列出所有目录和文件
#ls -l :列出所有文件详细信息
#kill PID : 杀死,关闭正在运行的进程
# cd sdcard : 进入到sdcard目录

#cd .. : 返回上一级目录

#cd / : 返回到根目录

#exit : 退出Linux系统终端。


1)压力测试

adb shell

#monkey

#monkey 100

monkey -s 100 -v 100

#monkey -p com.love.helloworld 100  

2)更改文件的访问模式

adb shell

#cd data/data/com.love.helloworld/files

ls -l

chmod 777 info.txt----public

chmod 600 info.txt     ----default(private)

3)查看Android设备的内存和CPU信息

adb shell

ls

cd proc

ls 

cat cpuinfo----打开查看CPU信息文件

cat meminfo----打开查看内存信息文件

4)查看流量信息(模拟器不支持,只能查看真实手机的流量信息)

adb -s 133442342323E shell

su                       ----请求ROOT权限

ls

cd proc

ls -l

cat uptime ---手机加电之后开机的时间

cd uid-stat---应用程序的UID文件夹

ls

cd 10093

ls -l

cat tcp_rcv---查看接收的流量数据

cat tcp_snd---查看发送的流量数据信息

5)查看数据库信息

adb shell

cd data/data/com.love.helloworld

cd database

sqlite3 person.db         ---打开数据库

select * from person;   -----查询表中的数据

.tables ------查看所有的表

.schema -----查看所有的创建表、视图

.help  ----查看帮助

.header(s) ON-----是否显示列头信息

.mode column ?table?------指定数据显示风格

.nullValue NULL-----空值数据显示问题

6)打印内核的调试信息

adb shell dmesg   

7)查看系统的属性(以键值对的形式列出)

adb  shell 

#getprop  ----列出系统属性

#watchprops----动态监视系统属性变化,如修改系统的语言为中文赐会打印出:

#watchprops

1269420653 persist.sys.language = 'zh' 
1269420653 persist.sys.language = 'CN' 

8)清除模拟器或者真机上的数据

adb shell

#wipe system----清除/system下的数据(有时删除该目录下的数据会导致系统运行出问题,请慎重。)

#wipe data  ----清除/data下的数据

9)管理activity

命令格式:am [subcommand] [options]

相关参数:

[-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>] 
 [-c <CATEGORY> [-c <CATEGORY>] ...] 
 [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...] 
 [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...] 
 [-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...] 
 [-n <COMPONENT>] [-f <FLAGS>] [<URI>] 
      

a)开启一个activity

am start <INTENT>

如:打开发送邮件的activity:#am start -a android.intent.action.SEND_MULTIPLE

b)关闭一个activity

am stop <INTENT>

如:关闭发送邮件的activity: # am stop -a android.intent.action.SEND_MULTIPLE

c)发送一个广播

am broadcast <INTNET>

(注:除此之外还有 start profiling和Instrumentation命令,有兴趣的可自行研究一下。

10)管理wifi,power和data

命令格式:svc [wifi | data | power] [option]

a)打开或关闭WIFI

svc wifi [enable | disable]

b)管理电源的亮的状态

svc power stayon [true | false | usb | ac]

 true:电源一直保持stay on的状态

 usb:插上usb才保持stay on 
 ac : 充电的时候 

12.查看所有日志信息

adb logcat

13.导出日志到文件,同时保留执行的进程。

adb logcat  >  FILE_PATH/FILE_NAME

如:adb logcat > G:/log.txt

14.导出日志到文件,并结否进程。

adb logcat -d > FILE_PATH/FILE_NAME

如:adb logcat  -d > G:/log2.txt


这里列出的也许不是全部命令,但是我们最常用的一些ADB命令,希望对大家有所帮助吧。

0 0