转自:https://blog.csdn.net/qq_26552691/article/details/81348222

一.操作前请确认电脑上已配置好ADB环境。可在CMD命令行输入adb,如果出现如下提示,说明已配置好。

二.下面,我们可以进行一些ADB常用命令的操作。

1.在命令行输入:adb start-server 或者adb shell,来启动adb服务。出现如下图所示,说明已启动成功。启动成功后,我们可以使用命令:adb kill-server 来关闭服务。

若启动之后用USB连接手机之后,找不到设备,我们使用:adb nodaemon server 这个命令检查5037端口是否被占用,如果被占用,则提示cannot bind 'tcp:5037'。

2.输入:adb devices 查看当前连接的设备,如下图:

如果当前连接的设备不止一个,我们可以使用:adb -s <device_name> shell 这个命令来进入指定的设备。假如我上图不止一个设备,那么现在想指定进入其中一个设备的时候,上图的:2c28c5c5    device 这个设备的话,我们输入:adb -s 2c28c5c5 shell 就可以进入当前这个设备,如下图:

3.输入:adb version 查看当前adb版本,如下图:

4.利用ADB命令查看手机的一些相关信息。

adb get-serialno  获取手机的序列号

adb shell wm size 查看手机屏幕分辨率

adb shell cat /proc/cpuinfo  显示手机的cpu信息

adb shell getprop ro.product.model  查看手机的设备型号

adb shell cat /sys/class/net/wlan0/address  获取手机的mac地址

5.通过:adb shell pm list packages 显示手机里面所有应用的包名

6.通过ADB命令来启动应用

启动应用的命令为:adb shell am start -n <package_name>/<package_name>.<activity_name>,其中,<package_name>代表应用的包名,<package_name>.<activity_name>代表这个包的启动入口。

所以,要想通过adb命令来启动某个应用,首先必须先获取这个应用的包名和这个应用的启动入口。在这里,我以爱奇艺这个应用为例子,我们先通过 adb shell dumpsys activity | grep mFocusedActivity 这个命令来获取某个应用的包名和这个应用的启动入口,如下图:

其中, com.qiyi.video即为这个应用的包名,org.qiyi.android.video.MainActivity即为这个应用的启动入口。

接下来,我们只要执行:adb shell am start -n com.qiyi.video/org.qiyi.android.video.MainActivity 这个命令,就可以启动爱奇艺这个应用,出现如下图所示内容,说明启动成功。

7.复制手机文件到电脑

(1)确定复制的文件在手机的哪个路径里。确定了路径之后,我们通过adb shell 链接手机,输入 ls 。

就可以看到手机的文件目录,找到文件所在的目录,通过cd xx(xx即文件名)进入该目录,比如我进入sdcard目录,通过ls查看该目录下的文件:

然后拷贝该目录下的 20180712144401.jpg 文件。输入:adb pull /sdcard/20180712144401.jpg  即可将该文件拷贝到电脑中:

再进入另一个目录下拷贝另一个文件 cd Download 进入到Download目录下,查看归案目录下的文件,这里我把该文件拷贝到g盘下,Ctrl+D退出连接,转到g盘,通过:adb pull /sdcard/Download/app-all-release.apk 即可将该文件拷贝到g盘中。如果不想转到g盘则按Ctrl+D退出连接之后,直接输入:adb pull /sdcard/Download/app-all-release.apk 即可将文件复制到c盘。

后面再持续更新。望批评指正!
————————————————
版权声明:本文为CSDN博主「假的IT Boy。」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_26552691/article/details/81348222

=============================

命令写法是:使用反编译安装包ApkTool中的AndroidManifest.xml获取包名并且启动Activity名,adb shell am start com.tencent.mm/com.tencent.mm.ui.LauncherUI。

另外,电脑上可以直接用aapt.exe分析安装包中的AndroidManifest.xml。也可以在手机上安装FX管理器,把安装包中的AndroidManifest.xml直接解压出来用FX管理器查看。

ADB常用命令(一)的更多相关文章

  1. 54. Android中adb常用命令及应用常用目录

    本文主要介绍adb常用命令及应用常用目录.1.adb常用命令adb devices列出所有连接的android设备.以下命令都是对单个devices而言,如果存在多个devices的话,下面的命令都需 ...

  2. Android开发系列之adb常用命令

    对于Android开发者来说,如果没有adb的帮助,那肯定就跟少了一只手那样别扭.其实笔者在刚刚学习Android开发的时候,也没有意识到adb的重要性.想想只要用IDE画出界面,然后实现后台的逻辑代 ...

  3. adb常用命令(转)

    1.Android Debug Bridge -adb常用命令 1.1简介 Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文件 ...

  4. adb常用命令教程

    1.Android Debug Bridge - adb常用命令 1.1简介 Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文 ...

  5. 【android】adb常用命令

    ADB常用命令: [adb help]获取帮助 [adb get-serialno]获取设备串号 [adb -s <serialNumber> <command>]给特定设备发 ...

  6. Android ADB 常用命令

    Android ADB 常用命令 泛原罪 2016.09.21 00:02* 字数 605 阅读 2912评论 0喜欢 1 [TOC] adb logcat 查看日志 详细内容可参见 ADB Usag ...

  7. adb 常用命令汇总

    adb 常用命令: adb –help 查看帮助手册 adb devices 检测连接到电脑的安卓设备或安卓模拟器设备 adb pull  <手机路径>  <本机路径>  从手 ...

  8. Android ADB常用命令使用

    Android SDK: adb shell 命令的使用(am.pm.wm.screencap.monkey等) https://blog.csdn.net/xietansheng/article/d ...

  9. adb常用命令-android学习第一天

    转载出处:http://www.cnblogs.com/xiaoxuetu/ 转载来源:https://www.cnblogs.com/xiaoxuetu/p/3411214.html 平时开发and ...

随机推荐

  1. ==和equals的深度分析

    ==的分析 1.对于基本数据类型,比较的是他们的具体内容是不是一样,跟他们的内存地址无关.举个栗子: public class Test{ public static void main(String ...

  2. Dapr 运用之 Java gRPC 调用篇

    JAVA GRPC 服务与调用 安装协议编译器 下载对应的版本编译器,并把路径加入到环境变量中,执行以下命令生成代码 protoc -I=$SRC_DIR --java_out=$DST_DIR $S ...

  3. 【Jackson】使用学习

    Jackson学习 文档:http://tutorials.jenkov.com/java-json/index.html https://github.com/FasterXML/jackson/w ...

  4. 12个超好用的IntelliJ IDEA 插件!你用过几个?

    一.前言 IntelliJ IDEA 如果说IntelliJ IDEA是一款现代化智能开发工具的话,Eclipse则称得上是石器时代的东西了. 其实笔者也是一枚从Eclipse转IDEA的探索者,随着 ...

  5. SpringBoot整合axis1.4后,@Autowired注入失败,使用工具类注入

    问题描述: 费劲心思搭建好webservices服务端后,没想到客户端调用失败,查看日志文件,发现报空指针异常,debug代码后,发现sql查询的值都是null.通常情况下,我们将Dao注入Servi ...

  6. hdu 6301 Distinct Values (贪心)

    Distinct Values Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  7. 多线程之美5一 AbstractQueuedSynchronizer源码分析<一>

    AQS的源码分析 目录结构 1.什么是CAS ? 2.同步器类结构 3.CLH同步队列 4.AQS中静态内部类Node 5.方法分析 ​ 5.1.acquire(int arg ) ​ 5.2.rel ...

  8. Java代码~~汽车租赁系统

    租车信息: 输出结果: 代码: 1.先定义抽象类(汽车类:Moto) package cn.aura.demo01; public abstract class Moto { //公共属性 priva ...

  9. 聊一聊 webpack 中的 preloading 和 Prefetching

    聊一聊 webpack 中的 preloading 和 Prefetching 提到 Preloading 和 Prefetching 就不得不先说一下代码分割,通过下面的例子我们来说明为什么需要代码 ...

  10. Python基础-day01-5

    注释 目标 注释的作用 单行注释(行注释) 多行注释(块注释) 01. 注释的作用 使用用自己熟悉的语言,在程序中对某些代码进行标注说明,增强程序的可读性 02. 单行注释(行注释) 以 # 开头,# ...