zoukankan      html  css  js  c++  java
  • Adb 基础

    adbAndroid Debug Bridge是在我们在Android开发过程中常用的调试工具。所以本篇总结一下adb基础知识。

    adb

    adbAndroid 系统给我们提供的一个工具,用于完成客户端-服务器端关联。能让我们可以通过使用的服务端 - pc操作管理客户端 - Android 虚拟机或真实设备。这个操作的过程通过下发指令完成。

    主要功能:

    • 运行设备的shell命令行

    • 管理设备的端口映射

    • pc和设备之间的文件传输

    • 本地apk的安装

    adb 使用

    adb工具是不用安装的只需要从网上下载即可。

    包住下载的adb包解压以后有下面三个文件。

    adb

    在adb解压目录 shift+ 鼠标右键 ,在此处打开命令窗口即可。

    如果经常使用可以将adb.exe目录配置到系统环境变量path中。(废话了 当然经常使用)

    adb 常用的十条指令

    1.1 adb devices:比较常用的指令,查看pc是否和设备连接。

    
    adb devices
    
    

    adb

    2.2 adb push:将文件推送到设备中

    
    // adb push 'pc端文件路径' '文件在设备保存路径'
    
    adb push F:adb	est.txt /sdcard/
    
    

    3.3 adb pull:将文件从设备中取出

    
    // adb pull '设备端文件路径' '文件在pc保存路径'
    
    adb push /sdcard/test.txt F:adb
    
    

    4.4 adb reboot:重启设备

    5.5 adb install :安装apk

    
    // adb pull '设备端文件路径' '文件在pc保存路径'
    
    adb install -r F:adb	est.apk
    
    

    Tips:

    安装以后,我们可以通过adb启动它,使用adb shell 下文会介绍

    
    // adb shell am start -n 包名/主类名
    
    adb shell am start -n com.test/com.test.MainActivity  
    
    

    如果是第三方apk,我们可以使用apktool 反编译app,从反编译的AndroidManifest.xml中获取需要的包名和主类名

    6.6 adb help:获取帮助信息

    7.7 adb sync:同步跟新,如果不指定路径将同时更新/data/system

    8.8 adb remount:重新挂载

    9.9 adb forward:将pc的某端口数据重定向到手机端的一个端口,可以实现pc和设备之间socket通信

    adb shell

    上面介绍了adb 常用的指令,但是我们落下了最重要的一块shell

    • shell 提供了用户和内核进行交互操作的接口,它接收用户输入的命令并把它送入内核去执行。

    Android 基于 Linux,那么 Linux shell 命令在 Android 里大都也是适用的。所有以adb shell开头的命令,都可以先执行adb shell命令进入目标设备的Linux Shell环境,然后在目标设备的Linux Shell中再执行adb shell之后的命令。

    除了上面说的adb shell am start -n

    常用的adb shell指令还有

    
    ls //查看目录
    
    data // 打印或设置当前系统时间   
    
    cat /proc/meminfo // 查看内存信息
    
    cat /proc/cpuinfo // 查看CPU信息 
    
    dumpsys activity //列出目标设备上的activity栈(back stack)和任务(task)的信息
    
    pm list permissions //列出目标平台上的所有权限
    
    pm list packages //列出目标设备上安装的所有app的包名
    
    

    Tips:

    mount -o rw,remount /system ,以可读写的方式加载/system分区。可以对system分区文件进行操作。

    使用批处理执行

    既然adb是在pc端使用的工具就可以使用批处理.bat文件来完成批量或是重复操作操作。也可以做成小工具给不懂adb的操作人员使用。

    我们将.bat文件新建并放在和adb.exe相同路径下。

    • push 文件
    
    @echo off
    
    set a= %~dp0machine.status  
    set b=/sdcard/ 
    echo %a%  
    echo %b% 
    adb.exe remount  &&echo **成功**
    adb.exe push %a% %b% ||echo **失败** 
    
    pause
    
    

    echo:回显 将这条命令后的内容显示到控制台上

    echo off:关闭回显 这条命令后的内容不显示到控制台上,除了本条指令

    @echo off:这条命令后的内容不显示到控制台上,包括本条指令

    %~dp0:当前批处理文件所在完整目录

    adb

    • 删除文件
    
    @echo off
     
    set a=/sdcard/machine.status
    echo %a%  
    adb.exe shell rm %a% ||echo **失败** 
    
    pause
    
    

    adb

  • 相关阅读:
    C#的内存管理原理解析+标准Dispose模式的实现
    深入理解C#:编程技巧总结(二)
    深入理解C#:编程技巧总结(一)
    深刻理解:C#中的委托、事件
    你知道JavaScript中的结果值是什么吗?
    switch语句的妙用
    相等比较、关系比较总结
    用ServiceStack操作使用redis的问题
    springmvc 处理put,delete请求
    easyui 验证动态添加和删除问题
  • 原文地址:https://www.cnblogs.com/chenjy1225/p/9662555.html
Copyright © 2011-2022 走看看