精华内容
下载资源
问答
  • adb 命令

    2021-05-27 10:01:54
    当服务器启动时,它与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令—所有 adb 客户端均使用端口 5037 与 adb 服务器通信。 启用 adb 调试 要在通过 USB 连接的设备上使用 adb,您必须在设备系统设置中...

    Android 调试桥

    adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用。

    Tips: 在 android_sdk/platform-tools/ 中找到 adb 工具,然后根据其具体的路径配置好环境变量。然后启动cmd 输入‘adb’即可查看是否配置成功。

    adb 的工作原理

    启动一个 adb 客户端时,此客户端首先检查是否有已运行的 adb 服务器进程。如果没有,它将启动服务器进程。当服务器启动时,它与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令—所有 adb 客户端均使用端口 5037 与 adb 服务器通信。

    启用 adb 调试

    要在通过 USB 连接的设备上使用 adb,您必须在设备系统设置中启用 USB debugging(位于 Developer options 下)。

    在运行 Android 4.2 及更高版本的设备上,Developer options 屏幕默认情况下处于隐藏状态。如需将其显示出来,请转到 Settings > About phone 并点按 Build number 七次。返回上一屏幕,在底部可以找到 Developer options。

    注:当您连接运行 Android 4.2.2 或更高版本的设备时,系统将显示一个对话框,询问您是否接受允许在这台计算机上调试的 RSA 密钥。这种安全机制可以保护用户设备,因为它可以确保只有在您能够解锁设备并确认对话框的情况下才能执行 USB 调试和其他 ADB 命令。

    adb常用命令

    查看adb版本

    adb  version

    连接夜神模拟器(此处分别演示模拟器和真机连接)

    adb connect 127.0.0.1:62001

    Tips:

    夜神模拟器的端口是规律的,第一个模拟器端口是62001,第二个模拟器端口是62025,第三个是62025+1,依此类推。

    模拟器1:Android 4.4.2 地址:127.0.0.1:62001

    模拟器2: Andriod 5.1.1 地址:127.0.0.1:62025

    查看设备信息

    adb devices

    如果出现如下提示:

    adb server version (31) doesn't match this client (36); killing...

    原因: adb版本不对 ,Androd SDK的版本和模拟器的adb版本不一致

    解决方案:将Android SDK的 adb替换掉模拟器的adb即可。模拟器adb路径 :{安装Path}Noxin

    adb shell

    android 设备底层是 linux 系统。 shell 是 linux 系统的字符交互界面。

    adb shell

    #进入指定设备shell

    adb  -s 127.0.0.1:62001 shell

    #退出adb shell

    exit

    进入adb shell后有两种状态显示:#代表有root权限,$代表没有root权限

    root@android:/ #

    shell@mx4:/ $

    root知识小科普

    “To err is human, but to really foul up everything, you need root password.”

    “人非圣贤孰能无过,但是拥有root密码就真的万劫不复了。”

    root用户是系统中唯一的超级管理员,它具有等同于操作系统的权限。一些需要root权限的应用,譬如广告阻挡,卸载系统预装App是需要root权限的。可问题在于root比windows的系统管理员的能力更大,足以把整个系统的大部分文件删掉,导致系统完全毁坏,不能再次使用。所以,用root进行不当的操作是相当危险的,轻微的可以死机,严重的甚至不能开机。所以,在Unix、Linux及Android中,除非确实需要,一般情况下都不推荐使用root。

    在设备安装apk

    adb install | -r  -r 覆盖原安装文件 -s 可以指定设备

    eg:

    #默认安装

    adb install "C:UsersShuqingDesktopAppium 自动化测试教程wandoujia.apk"

    #覆盖安装

    adb install -r  "C:UsersShuqingDesktopAppium 自动化测试教程wandoujia.apk"

    #指定设备安装

    adb  -s 127.0.0.1:62001 install  C:UsersShuqingDesktopAppiumkaoyan3.1.0.apk 自动化测试教程wandoujia.apk"

    如遇到报错:Failure [INSTALL_FAILED_INVALID_URI]

    解决方案: cmd命令行下执行以下命令:

    第一步、adb remount

    第二步、adb shell

    第三步、cd /data

    第四步、chmod 777 local

    重新安装apk,ok了。

    卸载apk

    1.首先进入设备的/data/app目录找到app包名

    adb shell

    cd /data/app/

    2.执行命令删除

    adb uninstall  | -k    卸载软件

    adb uninstall  com.wandoujia.phoenix2

    Tips:安装后的包名系统会在末尾加上-1之类的数字,要去掉才可以成功卸载。 软件名称为包名,不要包含.apk

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

    查看设备上面安装的应用包名

    adb shell pm list package

    文件读取写入

    将文件从PC写入到设备

    adb push

    eg:

    adb push C:UsersShuqingDesktopkyb.txt /sdcard

    C:UsersShuqingDesktopkyb.txt: 1 file pushed. 0.1 MB/s (462 bytes in 0.005s)

    将文件从设备读取到PC

    adb pull  

    eg:

    adb pull /sdcard/server.log  C:UsersShuqingDesktop

    /sdcard/server.log: 1 file pulled. 0.0 MB/s (196 bytes in 0.004s)

    注意:由于权限问题,不能直接pull到电脑磁盘根目录,否则会报错:

    C:UsersShuqing>adb pull /sdcard/server.log  D:\

    adb: error: cannot create file/directory 'D:\': No such file or directory

    屏幕截图

    $ adb shell screencap /sdcard/screen.png

    adb pull /sdcard/screen.png  C:UsersShuqingDesktop

    adb服务启动和关闭

    adb kill-server                        关闭adb服务

    adb start-server                      开启adb服务

    Tips:如果5037端口被占用可以使用如下命令释放端口

    C:UsersShuqing> netstat -ano | findstr "5037"

    TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       11072

    TCP    127.0.0.1:5037         127.0.0.1:59519        TIME_WAIT       0

    taskkill -f -pid XXX

    小结

    adb是自动化非常重要的一个工具

    目前很多PC客户端手机助手也是基于adb连接原理进行封装的。

    可以将常用的adb命令封装成bat命令,随时可以运行。如:

    adbdevices.bat

    adb devices

    pause

    AdbConnect.bat

    adb connect 127.0.0.1:62025

    adb devices

    pause

    参考文档

    展开全文
  • 本篇则来学习下行为型模式的两个模式, 责任链模式(Chain of Responsibility Pattern)和命令模式(Command Pattern)。 责任链模式 简介 顾名思义,责任链模式为请求创建了一个接收者对象的链。这种模式给予...

    前言

    上一篇中我们学习了结构型模式的享元模式和代理模式。本篇则来学习下行为型模式的两个模式, 责任链模式(Chain of Responsibility Pattern)和命令模式(Command Pattern)。

    责任链模式

    简介

    责任链模式顾名思义,就是为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。

    简单的理解的话就是进行层级处理。生活中比较常见的是请假、出差、加薪等申请等等,而工作中比较常见的就是拦截器和过滤器。如果请假申请是用以前的那种方式,发起者需要和每个负责人进行申请,会比较麻烦,但是现在一般是走OA流程,只需发起一个OA申请即可。这也是一种 这种就是典型的责任链模式,发起者只需将请求请求发送到职责链上即可,无需关心处理细节和请求的传递。

    责任链模式主要由这三个角色组成,请求接收者接口(Handler)、请求实现者类(ConcreteHandler)和请求发送者(Client)。

    • 请求接收者接口:定义可以处理客户端请求事项的接口,包含“可链接下一个同样能处理请求”的对象引用。
    • 请求实现者类:实现请求处理接口,并判断对象本身是否能够处理本次请求,如果不能完成请求,则交由后继者来处理。
    • 请求发送者:将请求发送给第一个接收者对象,并等待请求的回复。

    这里为了方便理解,我们使用一个简单的示例来加以说明。
    在某公司的某个部门中,为了活跃部门气氛,主管便征求部门成员的意见,于是部门的成员踊跃提出建议,最终,主管采纳了 xuwujing 提倡的建议,并将此建议进行上报,申请活动经费。
    那么我们便可以根据这里例子来使用责任链模式进行开发,首先加速有三级的领导,他们有个共同的特性,就是可以处理各自级别的事情,那么我们便可以定义一个领导的抽象类,并定义一个抽象方法可以处理事情,并设置一个级别的参数,那么这个抽象类的代码如下:

    
    abstract class Learder{
    
       protected Learder learder;
       
       protected void setLearder(Learder learder){
       	this.learder=learder;
       }
       
       protected Learder getLearder(){
       	return learder;
       }
       
       abstract void handler(int  level);
    }
    
    

    定义好该抽象类之后,我们需要设计不同的领导进行不同的处理,但是这些领导需要有个处理的能力,并且还要根据各自不同的权限进行处理,如果能够处理,到此流程就结束了,否则无法处理则转交给上级进行处理。
    那么代码如下:

    class Supervisor extends Learder{
        private String name;
        private String something;
        public Supervisor(String name,String something) {
       	this.name=name;
       	this.something=something;
       }
       
       @Override
       void handler(int level) {
       	//如果级别在自己的处理范围之内
       	if(level>1){
       		System.out.println("主管同意了  "+name+"所述的<"+something+">事情!");
       	}else{
       		System.out.println("主管未能处理  "+name+"所述的<"+something+">事情!转交给上级!");
       		getLearder().handler(level);
       	}
       }
    }
    
    
    class BranchManager extends Learder{
        private String name;
        private String something;
        public BranchManager(String name,String something) {
       	this.name=name;
       	this.something=something;
       }
       
       @Override
       void handler(int level) {
       	boolean flag=true;
       	//如果级别在自己的处理范围之内
       	if(level>0){
       		//这就就直接设置同意了
       		if(flag){
       			System.out.println("部门经理同意了  "+name+"所述的<"+something+">事情!");
       		}else{
       			System.out.println("部门经理不同意  "+name+"所述的<"+something+">事情!");
       		}
       	}else{
       		System.out.println("部门经理未能处理  "+name+"所述的<"+something+">事情!转交给上级!");
       		getLearder().handler(level);
       	}
       }
    }
    
    
    class GeneralManager extends Learder{
        private String name;
        private String something;
        public GeneralManager(String name,String something) {
       	this.name=name;
       	this.something=something;
       }
       
       @Override
       void handler(int level) {
       	boolean flag=false;
       	//如果级别在自己的处理范围之内
       	if(level>-1){
       		//这就就直接设置不同意了
       		if(flag){
       			System.out.println("总经理同意了  "+name+"所述的<"+something+">事情!");
       		}else{
       			System.out.println("总经理不同意  "+name+"所述的<"+something+">事情!");
       		}
       		
       	}else{
       		System.out.println("总经理未能处理  "+name+"所述的<"+something+">事情!转交给上级!");
       		getLearder().handler(level);
       	}
       }
    }
    
    

    最后我们再来根据所需要走的流程来进行代码测试。由于在编写请求类时,我们并未指定谁是谁的上级,所以这里我们需要指定上下级关系,让流程能够走下去。指定上级之后,我们再来设置处理该事件的级别,最后再来进行运行。
    那么测试代码如下:

    
    public static void main(String[] args) {
       	String name = "xuwujing";
       	String something = "去聚餐";
       	String something2 = "去旅游";
       	Learder learder1 =new Supervisor(name, something);
       	Learder learder2 =new BranchManager(name, something);
       	Learder learder3 =new GeneralManager(name, something);
       	learder1.setLearder(learder2);
       	learder2.setLearder(learder3);
       	learder1.handler(1);
       	
       	Learder learder4 =new Supervisor(name, something2);
       	Learder learder5 =new BranchManager(name, something2);
       	Learder learder6 =new GeneralManager(name, something2);
       	learder4.setLearder(learder5);
       	learder5.setLearder(learder6);
       	learder4.handler(0);
    
    }
    
    

    输出结果:

    
    		主管未能处理  xuwujing所述的<去聚餐>事情!转交给上级!
    		部门经理同意了  xuwujing所述的<去聚餐>事情!
    		主管未能处理  xuwujing所述的<去旅游>事情!转交给上级!
    		部门经理未能处理  xuwujing所述的<去旅游>事情!转交给上级!
    		总经理不同意  xuwujing所述的<去旅游>事情!
    

    责任链模式优点:

    耦合度低,请求者和执行者并没有必然的联系;
    灵活度高,可以通过内部成员来进行更改它们执行的次序;
    扩展性好,Handler的子类扩展非常方便。

    责任链模式缺点:

    会在某程度上降低程序的性能,设置不当的话可能会出现循环调用。
    在链过长时,会降低代码的阅读性以及增加代码的复杂度。

    使用场景:

    需要动态指定处理某一组请求时,在不确定接受者的的情况下,向多个对象发送请求时。

    注意事项:

    虽然责任链模式很灵活,但是牺牲的是一定的性能,因为责任链模式是层级处理,在处理数据的有一定的延迟,所所以需要低延迟的情况下,不推荐使用责任链模式。

    命令模式

    简介

    命令模式顾名思义,是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。
    也就是将一个请求封装成一个对象,从而可以用不同的请求对客户进行参数化。

    命令模式主要由这三个角色组成,命令对象(command)、命令执行对象(received)和命令请求对象(invoker)。

    • 命令对象:通过接口或抽象类声明实现的方法。
    • 命令执行对象:实现命令对象的方法,并将一个接收者和动作进行绑定,调用接收者相应的操作。
    • 命令请求对象:用于执行这个请求,可以动态的对命令进行控制。

    这里我们依旧用一个简单的示例来进行说明。
    在某个学校中,学生需要听从老师的命令,比如老师可以让学生去打扫教室卫生,去完成未做完的作业等等命令,但是学生的时间有限,只能在某个时间范围内完成某一件事情,此时刚好有两个老师对学生 xuwujing 说出了命令,李老师先让 xuwujing 在放学后打扫教室,王老师让 xuwujing 在回家前把未做完的作业做完并交给他,但是学校的门禁的时间有限,于是 xuwujing 就只 打扫了教室,然后开溜了。。。
    那么根据这个示例,我们可以使用命令模式来完成。
    首先,先定义一个学生类,并指定该学生可以做的事情。
    代码如下:

    
    class Student{
    	void cleanClassRoom(String name){
    		System.out.println(name+" 开始打扫教室...");
    	}
    	void doHomeWork(String name){
    		System.out.println(name+" 开始做作业...");
    	}
    }
    

    然后定义一个 命令抽象类,并设置执行的方法。

    
    abstract class Command{
    	protected Student student;
    	public Command(Student student){
    		this.student = student;
    	}
    	abstract void execute(String name);
    }
    

    继而再定义两个命令执行对象,分别设置所需执行的命令。

    
    class LiTeacher extends Command{
    	public LiTeacher(Student student) {
    		super(student);
    	}
    	@Override
    	void execute(String name) {
    		student.cleanClassRoom(name);
    	}
    }
    
    class WangTeacher extends Command{
    	public WangTeacher(Student student) {
    		super(student);
    	}
    	@Override
    	void execute(String name) {
    		student.doHomeWork(name);
    	}
    }
    

    最后再来定义一个命令请求对象,用于执行该请求,并对命令进行控制,比如新增命令、撤销命令和执行命令等等。
    那么代码如下:

    
    class Invoker {
    	private List<Command> commands = new ArrayList<Command>();
    	
    	public void setCommand(Command command) {
    		if(commands.size()>0) {
    			System.out.println("不执行 WangTeacher 的命令!");
    		}else {
    			commands.add(command);
    		}
    	}
    	
    	public void executeCommand(String name) {
    		commands.forEach(command->{
    			command.execute(name);
    		});
    	}
    	
    	public void undoCommand(Command command) {
    		commands.remove(command);
    		System.out.println("撤销该命令!");
    	}	
    }
    
    

    最后再来进行代码的测试。
    测试代码如下:

    
    public static void main(String[] args) {
    		String name = "xuwujing";
    		Student student = new  Student();
    		Command command1 = new LiTeacher(student);
    		Command command2 = new WangTeacher(student);
    		Invoker invoker =new Invoker();
    		invoker.setCommand(command1);
    		invoker.setCommand(command2);
    		invoker.executeCommand(name);
    	}
    

    输出结果:

    不执行 WangTeacher 的命令!
    xuwujing 开始打扫教室...
    

    命令模式优点:

    耦合度低,请求者和执行者并没有必然的联系;
    扩展性好,Command的子类可以非常容易地扩展。

    命令模式缺点:

    如果命令过多的话,会增加系统的复杂度 。

    使用场景:

    如果在有类似命令需要指定的,就可以用命令模式,比如记录日志、撤销操作命令等。

    其它

    音乐推荐

    分享一首很轻快的轻音乐!

    border="0" width="330" height="86" src="//music.163.com/outchain/player?type=2&id=5330830&auto=0&height=66">

    项目的代码

    java-study 是本人在学习Java过程中记录的一些代码,也包括之前博文中使用的代码。如果感觉不错,希望顺手给个start,当然如果有不足,也希望提出。
    github地址: https://github.com/xuwujing/java-study

    原创不易,如果感觉不错,希望给个推荐!您的支持是我写作的最大动力!
    版权声明:
    作者:虚无境
    博客园出处:http://www.cnblogs.com/xuwujing
    CSDN出处:http://blog.csdn.net/qazwsxpcm 
    个人博客出处:http://www.panchengming.com

    展开全文
  • 1.要链接的IP ,必须和自己的PC的网络在同一个局域网内,adb 不能跨局域网链接设备 2.如果通过usb链接android设备,通过adb devices 可以看见设备列表,但是使用不了, 3.adb connect + IP ,可以链接某个设备。...

    CMD命令

    1、清理cmd窗口:cls
    2、强制终止cmd命令: ctrl+c
    3、查询软件路径:where 文件名称(例如 where node)
    4、netstat端口状态查看命令详解
    参考网址:https://blog.csdn.net/qq1124794084/article/details/51690981
    4.1、查看端口连接状态:netstat -an
    4.2、查看端口连接状态并显示相关Ip进程:netstat -ano
    5、获取Ip地址: ipconfig
    6、 释放端口
    如果5037端口被占用可以使用如下命令释放端口

    netstat -ano | findstr "5037"
    
    taskill -f -pid xxx  # 关闭占用端口的线程
    

    查看文件夹dir

    显示当前路径下文件
    echo %JAVA_HOME% 可以查询变量路径

    查看cmd命令:help
    获取相关命令使用参数: help

    展开全文
  • 目录: 一、ADB 简介 二、ADB的工作方式 三、ADB常用命令 一、ADB 简介 ...它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令...

    目录: 一、ADB 简介

                二、ADB的工作方式

                三、ADB常用命令

     

    一、ADB 简介

    ADB(Android Debug Bridge) 是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。该工具作为一个客户端-服务器程序。

    • 客户端,该组件发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。

    • 后台程序,该组件在设备上运行命令。后台程序在每个模拟器或设备实例上作为后台进程运行。

    • 服务器,该组件管理客户端和后台程序之间的通信。服务器在开发计算机上作为后台进程运行。

    adb 工具路径android_sdk/platform-tools/

    二、ADB的工作方式

    1. 连接 Android 模拟器

    ADB与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令—所有 adb 客户端均使用端口 5037 与 adb 服务器通信。然后,服务器设置与所有运行的Android模拟器/Android 设备连接。

    2.USB 连接 Android 机器

    • a. 打开开发者选项

    Settings>About phone>连续点击 Build number七次

    • b. 开启 USB debugging

    • c .Dos下输入adb devices验证手机是否连上 adb

    验证adb 是否连接成功

     

    3.WLAN 连接 Android 机器

    此方法不常用,暂时忽略

    三、ADB常用命令

    1. 安装卸载apk

    • a. 安装apk

    adb install apk路径

    安装apk

     

    • b. 卸载apk

    adb unstall apk包名

    查询包名,并根据包名卸载apk

     

    2. 导入/导出 文件到手机中

    • a. 导出手机文件

    adb pull remote local

    将手机Setting.apk 导出到电脑D盘

     

    • b. 导入文件到手机

    adb push local remote

    将电脑D 盘的文件 导入到手机/system/priv-app/Settings目录下

     

    3.开启、停止ADB 服务

    • a. 开启ADB 服务

    adb start-server

    • b. 停止ADB服务

    adb kill-server

    ADB 服务的开启与停止

    4. 使用ADB 命令截屏、录像

    • a. 截屏 screencap

    adb shell screencap 文件保存路径

    使用adb 命令截图

     

    • b. 录像 screenrecord

    adb shell screenrecord 文件保存路径

    使用adb 命令录屏录像

     

    按 Control + C停止屏幕录制,否则,到三分钟或 --time-limit设置的时间限制时,录制将自动停止。

    screenrecord 部分参数

    选项说明
    --size width x height设置分辨率 eg:1280x720
    --bit-rate rate视频比特率,默认值为 4Mbps,可以设6Mbps,这样质量更好 eg:adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4
    --time-limit time设置最大录制时长(以秒为单位)。默认值和最大值均为 180(3 分钟)。

    5. 调用ActivityManager(am 命令)

    • a. 发送 intent

    adb shell am start -a android.intent.action.VIEW

    • b.启动Activity

    adb shell am start -n 包名/类名

    启动QQ

     

    • c. 启动service

    adb shell am startservice 包名/类名

    启动指定的Service

     

    • d. 发送广播

    adb shell am boradcast -a 广播Action

    adb 命令发送开机广播

     

    • e. 强行停止应用

    adb shell force-stop 包名

    强行停止QQ进程,正在使用的QQ就会闪退被杀掉

     

    6. 调用 PackageManager(pm 命令)

    • a. 卸载apk

    adb shell pm uninstall 包名

    卸载QQ

     

    • b. 查看手机中所有apk 包名

    adb shell pm list packages

    部分apk包名查看

     

    • c. 查看已知权限组

    adb shell pm list permission-groups

    所有手机权限组查看

     

    • d. 查看手机Feature 支持

    adb shell pm list features

    查看手机Feature

     

    • e. 根据包名,查看apk 安装路径

    adb shell pm path 包名

    查看SystemUI apk 路径

     

    • f. 清除app 数据

    adb shell pm clear 包名

    清除QQ apk 数据

     

    • g. 多用户相关

    查看支持最多用户数adb shell pm get-max-users

    查询系统所有用户adb shell pm list users

    创建新用户adb shell pm create-user user_name

    移除指定id用户adb shell pm remove-user user_id

    测试发现只有 使用adb 命令创建的多用户才可用命令移除

    7. dumpsys将系统数据转储到屏幕

    • a. 获取当前运行的Activity

    adb shell dumpsys activity | findstr Run

    获取最近运行的Activity ,已经Top Activity

     

    • b. 获取apk 版本号,权限等信息的方法adb shell dumpsys package com.xxx.xxx(包名)

    adb 获取apk 版本号,权限等

     

    8. 查看手机系统进程

    • a.使用Top命令查看系统进程

    adb shell top

    使用Top命令查看系统进程

     

    • b. 使用 ps命令查看系统进程

    adb shell ps

    使用 ps 命令查看系统进程

     

    结合findstr 命令 过滤多余的信息 adb shell ps | findstr qq

    结合findstr 命令 过滤多余的信息

     

    9. 使用logcat抓 log信息

    • a.使用 logcat 抓取log信息

    adb logcat > 1.txt

    使用logcat 抓取的信息

     

    • b.使用 -s过滤log标签

    adb logcat -s 关注log标签

    使用-s 过滤关注log标签

     

    • c. 使用 -c清除缓存log

    adb logcat -c

    10. 电量管理相关命令

    • a.模拟拔下设备电源

    adb shell dumpsys battery unplug

    • b. 低电量条件下的行为

    adb shell settings put global low_power 1

    • c .恢复电源修改

    adb shell dumpsys battery reset

    电源管理相关命令

     

    11. 使用adb 命令进入recovery 模式

    进入Recovery 模式可以使用组合键,也可以使用adb 命令 adb 命令进入recovery 模式如下adb reboot recovery

    adb 命令进入recovery模式

     

    12. 跳过Google 开机向导的命令

    adb shell pm disable com.google.android.setupwizard
    adb shell settings put global device_provisioned 1
    adb shell settings put secure user_setup_complete 1
    复制代码

    启动开机向导命令

    
    C:\Users\Administrator>adb shell am start  com.google.android.setupwizard/.user.WelcomeActivity
    Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.google.android.setupwizard/.user.WelcomeActivity }
    
    C:\Users\Administrator>
    复制代码

    至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!


     


     

     

    展开全文
  • adb命令(一)

    千次阅读 2020-06-13 00:23:04
    简介 一:简介 ADB(Android Debug Bridge),简单的说,就是连接安卓手机与PC端的桥梁,用户可以在PC端对手机...如果已安装了Android Studio,它本身带有adb命令,如果配置好的Android Studio 一般都是可以直接...
  • adb命令—01

    2019-08-14 17:16:41
    当服务器启动时,它与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令—所有 adb 客户端均使用端口 5037 与 adb 服务器通信。 启用 adb 调试 要在通过 USB 连接的设备上使用 adb,您必须在设备系统...
  • Appium - adb命令操作

    2021-05-19 05:53:19
    当服务器启动时,它与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令—所有 adb 客户端均使用端口 5037 与 adb 服务器通信。 3.启用 adb 调试 开发者模式 4.adb常用命令 1.查看adb版本 adb version 2.连接...
  • 1、adb相关概念 1.1 ADB 英文全名Android Debug Bridge,是一个通用命令行工具,其允许您与模拟器实例或连接的 Android真机设备进行...发送命令时,首先检测PC上有没有启动Server,如果没有Server,则自动启动一个S...
  • adb常用命令总结及.bat文件封装

    千次阅读 2020-08-18 17:56:45
    adb常用命令Android 调试桥adb工作原理启动adb调试adb常用命令查看版本查看设备信息在设备安装apk卸载apk查看设备上安装的应用包名文件读取写入屏幕截屏adb服务启动和关闭小结 Android 调试桥 adb ( Android Debug ...
  • adb命令

    2017-12-11 09:16:59
    它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。该工具作为一个客户端-服务器程序,包括三个组件: 客户端,该组件发送命令。客户端在...
  • ADB 命令大全

    2019-09-17 22:26:36
    ADB与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令—所有 adb 客户端均使用端口 5037 与 adb 服务器通信。然后,服务器设置与所有运行的Android模拟器/Android 设备连接。 2.USB 连接 Android 机器 a. ...
  • Adb shell命令小结

    2021-05-17 06:50:05
    写在前面:为了提高自己专业水平,小小的总结,希望自己可以不断的提高!Adb命令实践Android 调试桥Adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为...
  • linux文件内容统计命令wc命令用法(2014-06-20 14:24:50)标签:如下和数不出第三世界杯wc号令的听从为统计指定文件中的字节数、字数、止数,并将统计结果显示输出。该号令统计给定文件中的字节数、字数、止数。如果...
  • adb命令对模拟器的操作

    千次阅读 2018-08-22 16:15:14
    当服务器启动时,它与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令—所有 adb 客户端均使用端口 5037 与 adb 服务器通信。 启用 adb 调试 要在通过 USB 连接的设备上使用 adb,您必须在设备系统...
  • 翻车现场 由于今天在安装完node之后,系统提示: 查看一下/lib64/libc.so.6是什么鬼: 由于是内网,...要解决问题一定要了解问题的根源,不要盲目的听从网上的解决方案 6.遇到类似问题最好多人协作,尽量避免风险和问题
  • adb--常用命令

    2019-09-29 02:35:10
    启动一个adb客户端时,此客户端首先检查是否有已运行的adb服务器进程,如果没有,它将启动服务器进程,当服务器启动时,它与本地TCP端口5037绑定,并侦听从adb客户端发送的命令,所有adb客户端均使用端口5037与adb...
  • 我们今天来说说“实点”,说白了就是实实在在的点,我们思考一个问题,就是创建实点的方式有哪些?第一就是随便点选某一个...首先我们来看一下TK做实点的流程:Tk是工具不是命令,只能在执行命令后,命令下的某一...
  • 极力推荐Android 开发大总结文章:欢迎收藏程序员Android 力荐 ,Android 开发者需要的必备技能 ...三、ADB常用命令 一、ADB 简介 ADB(Android Debug Bridge) 是一个通用命令行工具,其允许您与...
  • 一、ADB 简介 ADB(Android Debug Bridge) 是一个通用命令行工具,其允许您与模拟器...它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。...
  • ANR 在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向...当服务器启动时,它与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令—所有 adb 客户端均使用端口 5037 与 adb 服务器通信。 adb de
  • ADB常用命令

    2019-06-17 14:12:06
    它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。该工具作为一个客户端-服务器程序,包括三个组件: 客户端: 该组件发送命令。客户端在...
  • exsi速用命令和常见问题

    千次阅读 2016-11-10 12:38:14
    vCenter Server系统还使用端口443侦听从vSphere Web Access Client和其他SDK客户端传输的数据。如果对HTTPS使用另一个端口号,则登录vCenter Server系统时必须使用<ip-address>:。 636   对于vCenter链接模式,这...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,031
精华内容 1,612
关键字:

听从自己的命令