ADB常用命令(一)
转自: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常用命令(一)的更多相关文章
- 54. Android中adb常用命令及应用常用目录
本文主要介绍adb常用命令及应用常用目录.1.adb常用命令adb devices列出所有连接的android设备.以下命令都是对单个devices而言,如果存在多个devices的话,下面的命令都需 ...
- Android开发系列之adb常用命令
对于Android开发者来说,如果没有adb的帮助,那肯定就跟少了一只手那样别扭.其实笔者在刚刚学习Android开发的时候,也没有意识到adb的重要性.想想只要用IDE画出界面,然后实现后台的逻辑代 ...
- adb常用命令(转)
1.Android Debug Bridge -adb常用命令 1.1简介 Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文件 ...
- adb常用命令教程
1.Android Debug Bridge - adb常用命令 1.1简介 Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文 ...
- 【android】adb常用命令
ADB常用命令: [adb help]获取帮助 [adb get-serialno]获取设备串号 [adb -s <serialNumber> <command>]给特定设备发 ...
- Android ADB 常用命令
Android ADB 常用命令 泛原罪 2016.09.21 00:02* 字数 605 阅读 2912评论 0喜欢 1 [TOC] adb logcat 查看日志 详细内容可参见 ADB Usag ...
- adb 常用命令汇总
adb 常用命令: adb –help 查看帮助手册 adb devices 检测连接到电脑的安卓设备或安卓模拟器设备 adb pull <手机路径> <本机路径> 从手 ...
- Android ADB常用命令使用
Android SDK: adb shell 命令的使用(am.pm.wm.screencap.monkey等) https://blog.csdn.net/xietansheng/article/d ...
- adb常用命令-android学习第一天
转载出处:http://www.cnblogs.com/xiaoxuetu/ 转载来源:https://www.cnblogs.com/xiaoxuetu/p/3411214.html 平时开发and ...
随机推荐
- TypeScript高级用法详解
引言 作为一门强大的静态类型检查工具,如今在许多中大型应用程序以及流行的JS库中均能看到TypeScript的身影.JS作为一门弱类型语言,在我们写代码的过程中稍不留神便会修改掉变量的类型,从而导致一 ...
- 垂直margin为什么会重叠
之前看到的post中有这样的一个问题:垂直margin为什么会重叠?我可以说出solve,但是说不出why. 在stackoverflow上找到了一个很好的解释:margin的定义不是让元素移动xxp ...
- 深入探索Java设计模式(三)之装饰器模式
装饰器模式使你可以在运行时使用类似于对象组成的技术来装饰类.这在我们希望实例化具有新职责的对象而无需对基础类进行任何代码更改的情况下尤其有用.本文是在学习完优锐课JAVA架构VIP课程—[框架源码专题 ...
- Spring Boot 外部化配置(二) - @ConfigurationProperties 、@EnableConfigurationProperties
目录 3.外部化配置的核心 3.2 @ConfigurationProperties 3.2.1 注册 Properties 配置类 3.2.2 绑定配置属性 3.1.3 ConfigurationP ...
- java8-从Lamda到方法引用和构造引用
一方法引用概述 经过前面2章Lamda原理引入和Lamda解析,基本就会熟练使用Lamda表达式,这次我们更深入点.来了解一下方法引用. 方法引用是特定Lamda表达式的一种简写,其思路就是能替换La ...
- 一些实用的 Laravel 小技巧
Laravel 中一些常用的小技巧,说不定你就用上了. 1.侧栏 网站一般都有侧栏,用来显示分类,标签,热门文章,热门评论啥的,但是这些侧栏都是相对独立的模块,如果在每一个引入侧栏的视图中都单独导入与 ...
- 优先队列与TopK
一.简介 前文介绍了<最大堆>的实现,本章节在最大堆的基础上实现一个简单的优先队列.优先队列的实现本身没什么难度,所以本文我们从优先队列的场景出发介绍topK问题. 后面会持续更新数据结构 ...
- Java 匿名类和lambda表达式
一.匿名内部类 一个匿名内部类是一个没有名字的内部类.它将进一步定义一个内部类以及创建一个内部类的实例. 内部类处理器可以使用匿名内部类进行代码简化. 匿名内部类的语法如下所示: new SuperC ...
- Python面向对象-@property装饰器
python中,我们可以直接添加和修改属性的值: >>> class Student(object): ... pass ... >>> s = Student() ...
- .Net Core控制台&EFCore连接Mysql
在用惯了Asp.Net Core提供的基架后,反过来想一想,貌似忘记了控制台如何去连接数据库了,因此,写一篇文章来借此巩固下并以后再来回顾时,加快步骤. 1.新建一个.Net Core控制台,然后安装 ...