一:文件传输

在android开发中,有时候需要将文件从pc端传递至android,或者将软件运行的日志,从android设备传递到pc进行分析,我们可以使用windows的cmd窗口,或者android studio的terminal窗口来传递文件。

1:连接android设备

   此处默认是android设备,已打开usb调试模式,并且数据线已经和电脑连接。我们先使用adb devices指令,查询一下设备是否正常连接.

2:设备连接后,将pc文件传输至android设备

adb -s xxxx push C:/advert /sdcard/

3:将android设备文件传递至pc电脑

adb -s xxxx pull /sdcard/ad_file_log/ D:/2014work/  此处用的cmd命令下载的

4:在设备和pc上查询收到的文件


5:断开连接

adb disconnect ip地址.

6:其它

 

 

 

二:使用adb命令,遇到的问题

1:由于目标计算机积极拒绝,无法连接。(10061)

需要执行adb tcpip 5555指令,然后重新连接

执行adb shell指令时,需要把数据线拨拉,建议使用 adb -s xxxx shell指令.

如输入以上指令还是不行,建议在设备上安装模拟器,输入以下命令:

setprop service.adb.tcp.port 5555
stop adbd
start adbd

 

2020-05-28 更新

执行 上述命令,android studio 仍然无法连接设备,可以考虑用cmd连接试一下,可能是adb.exe有问题

 

  

 

 

2:执行adb push ,adb pull指令时,一定要退出shell指令环境,使用adb -s xxxx -push(或者pull),不然会出现,找不到设备等错误(如:error: device not found )。如果出现adb device offline错误,请检查数据线连接是否正常.

  

 

 

三: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 扩展数据,等)。

  启动 service:

  am startservice -n {包(package)名}/{包名}.{服务(service)名称} 

 发送广播

 am broadcast -a <广播动作>
 如:am broadcast -a android.net.conn.CONNECTIVITY_CHANGE

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

#cd system/sd/data //进入系统内指定文件夹 
#ls //列表显示当前文件夹内容 
#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件 
#rm xxx //删除文件xxx 
#rmdir xxx //删除xxx的文件夹

【操作命令】

  1. 查看设备

  adb devices

这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示

Android系列教程(六) adb操作命令详解

  2.安装软件

  adb install

adb install <apk文件路径> :这个命令将指定的apk文件安装到设备上

Android系列教程(六) adb操作命令详解

  3. 卸载软件

  adb uninstall <软件名>

  adb uninstall -k <软件名>

如果加 -k 参数,为卸载软件但是保留配置和缓存文件.

  4. 进入设备或模拟器的shell:

adb shell

通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令,另外如果只想执行一条shell命令,可以采用以下的方式:

adb shell [command]

如:adb shell dmesg会打印出内核的调试信息。

  5. 发布端口

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

adb forward tcp:5555 tcp:8000

  6. 从电脑上发送文件到设备

  adb push <本地路径> <远程路径>

用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)

  7. 从设备上下载文件到电脑

  adb pull <远程路径> <本地路径>

用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑

  8、查看bug报告

adb bugreport

  9、记录无线通讯日志

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

adb shell

logcat -b radio

  10、获取设备的ID和序列号

adb get-product

adb get-serialno

adb shell

sqlite3

Android系列教程(六) adb操作命令详解