Android ADB linux命令集合

A.用adb局域网功能连接设备

     1,先用usb连接运行adb命令,将连接方式改为tcpip

          adb tcpip {port}     port为端口号

     2,拔掉usb线,运行adb命令连接设备

          adb connect xxx.xxx.xxx.xxx(设备ip):port(刚才设置的端口号)

     3,正常运行adb命令

  adb的工作方式比较特殊采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。 ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.

B.adb shell的一些常见命令

  1.adb shell

        a.通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux 的命令,如果只想执行一条命令,可以输入adb shell cmd

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

adb shell logcat v会打印出log信息

     b.adb shell ls列出设备的目录列表

    eg: adb连接设备操作

    adb shell

    adb -s xxxx shell

  2.上传文件: adb push

    下载文件: adb pull

     /tmp/...指的是在设备linux环境中要操作文件的路径

       eg: adb push key data/app 就是将key文件上传到用户目录中

  a.将文件放入设备

         eg: adb push xxx.* /directory

     adb -s xxxx(设备编号) xxx.* /directory

     b.将文件拉出设备

        eg: adb pull xxx.* /directory   

                adb -s xxxx(设备编号) xxx.* /directory

  3.安装程序: adb install <*.apk>

    卸载软件: adb unistall apk(注意卸载的时候和安装的时候的文件名是不一样的,例如安装的时候adb shell GPSStatus2b2.apk,这个apk文件就被安装在data/app目录下,但是使用uninstall的时候,首先要到、data/app目录下查看安装的apk文件在linux目录下的文件名,发现是com.eclipsim.gpsstatus.apk,使用adb uninstall com.eclipsim.gpsstatus.注意不要加apk后缀。返回success结果证明文件卸载成功)。

  a.用adb安装apk

            eg: adb install xxx.apk

                adb install -s xxxx(设备编号) xxx.apk     多个设备

          b.用adb卸载apk

         eg: adb uinstall xxx.apk(通常要写明详细的包名和activity名)

     adb uinstall -s xxxx(设备编号) xxx.apk     多个设备

  补充一点,通过adb安装的软件(*.apk)都在"/data/app/"目录下,所以安装时不必制定路径。

  卸载的时候当然也可以直接到目录下使用rm命令也可。

          如果有多个设备在运行的话,发送命令时必须用上-s,-e或-d这几个参数指定目标设备。

                adb -e  发送命令到模拟器。

                adb -d  发送命令到到USB设备,比如手机。

                adb -s  指定一个目标。adb -s <serialNumber> <command>install <path-to-apk>

          例如:adb -s emulator-5554 install helloWorld.apk

  4.显示android模拟器状态:

   adb devices 列出所有连接的设备

          例如:

                ~$ sudo /opt/android/android-sdk/tools/adb devices

                List of devices       attached

                emulator-5554      device

                HT95LKF00945    device

                这里就列出了两个设备,第一个是模拟器,第二个是手机。

          注意:这里是用root用户来启动adb服务器和执行adb命令,不然就会 出现“no permissions”

   adb get-serialno 打印设备序列号

  adb version 列出ADB的版本号

   adb get-state 打印出的结果一般是offline | bootloader | device

                adb help  查看adb所支持的所有命令

                adb version    查看adb的版本序列号

                adb logcat  打印日志到屏幕

                adb bugreport 打印dumpsys,dumpstate和logcat数据到屏幕

                adb jdwp       查看指定的设施的可用的JDWP信息.

                adb forward    forward <local> <remote>

                adb get-serialno 查看adb实例的序列号.

                adb get-state 查看模拟器/设施的当前状态.

                adb ppp 通过use设备运行PPP

                adb wait-for-device  如果设备不联机就不让执行。

  5.等待正在运行的设备: adb wait-for-device

  6.adb start-server

   adb kill-server 一般在键入adb shell命令后显示device offline或者是显示有多个设备的情况下使用

  7.adb remount 重新挂载系统分区,就是将系统分区重新挂载为可写。

  8. adb root使用管理员权限

  9. adb bugreport打印除所有的bug信息

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

  11.adb emu

  12.端口转发: adb forward adb forward tcp:5555 tcp:1234

  (将默认端口TCP 5555转发到1234端口上)

时间: 2024-09-24 17:46:50

Android ADB linux命令集合的相关文章

Android ADB常用命令总结_Android

ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(手机). 它的主要功能有: 运行设备的shell(命令行) 管理模拟器或设备的端口映射 计算机和设备之间上传/下载文件 将本地apk软件安装至模拟器或android设备 ADB是一个客户端-服务器端程序,其中客户端是你用来操作的电脑,服务器端是android设备.先说安装方法,电脑上需要安装客户端.客户端包含在SDK里.设备上不

Android adb shell命令合集

  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 av

Android 开发相关命令集合

压力测试:$ adb shell monkey -p your.package.name -v 500  找LOG :adb logcat -b main -b radio -b system -v time >log.txt 如果要抓Message的话,还要加上adb shell setprop log.tag.Mms:transaction VERBOSE 在ubuntu下安装手机驱动 在 ubuntu 通过usb连接 cci 设备,使用 adb 时,会返回无法找到设备,解决办法如下: 1)

Android adb logcat 命令查看日志详细介绍_Android

Android 开发的程序员开发程序的时候,一定为log而苦恼过吧.Eclipse老是Log找不到,是不是很让人不爽,虽然Android Studio的Logcat功能很不错,但也没有在命令行terminal中打印出来更方便. 使用 logcat 命令         查看和跟踪系统日志缓冲区的命令logcat的一般用法是: [adb] logcat [<option>] ... [<filter-spec>] ... 下文介绍过滤器和命令选项,详细内容可参见Listing of

Android adb logcat 命令查看日志详细介绍

Android 开发的程序员开发程序的时候,一定为log而苦恼过吧.Eclipse老是Log找不到,是不是很让人不爽,虽然Android Studio的Logcat功能很不错,但也没有在命令行terminal中打印出来更方便. 使用 logcat 命令 查看和跟踪系统日志缓冲区的命令logcat的一般用法是: [adb] logcat [<option>] ... [<filter-spec>] ... 下文介绍过滤器和命令选项,详细内容可参见Listing of logcat C

android adb实用命令小结

adb对于Android程序员来说在日常的工作中使用频率很高,现将自己工作中常用的adb命令总结一下备忘,方便查询,也供大家参考.查看应用内存占用,耗电信息,启动时间,wakelock,跑monkey的命令在之前的应用性能优化中起了不小的作用.以下adb命令的测试机器为小米3,其中package_name代表包名. 基础脚本: 1.启动adb服务 adb start-server 2.终止adb服务 adb kill-server 3.进入adb运行环境 adb shell 4.获取帮助 里面有

Android adb shell 命令详解

http://www.open-open.com/lib/view/1327557366686

Android应用中执行Linux命令

  修改某一文件的权限为777为例: /** 执行Linux命令,并返回执行结果. */ public static String exec(String[] args) { String result = ""; ProcessBuilder processBuilder = new ProcessBuilder(args); Process process = null; InputStream errIs = null; InputStream inIs = null; try

求救,jsch执行linux命令

问题描述 求救,jsch执行linux命令 jsch执行linux命令的时候,表示一直是在根目录下,cd命令执行不了, 这是我的代码,求大神看看是哪里出了错 public class ShellExecuter { private static final int BLOCK_SIZE = 1024; private static Session session; public ShellExecuter(Session session){ this.session=session; } pri