在Mac上使用安卓桌面模式

在安装Homeblew的基础上

替换国内源

export HOMEBREW_API_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api"
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"
brew update

安装Scrcpy

brew install scrcpy

安装adb

brew install android-platform-tools --cask

查看手机的VID,并将VID写入(新建)到~/.android/adb_usb.ini文件中

system_profiler SPUSBDataType


adb kill-server 关闭服务

adb start-server 启动服务

adb devices 查看连接状态

如果找不到设备,在手机设置中:

效果

支持横屏、竖屏

修改屏幕分辨率

需要开启禁止权限监控

否则会报错:

Exception occurred while executing 'size':
java.lang.SecurityException: Must hold permission android.permission.WRITE_SECURE_SETTINGS

修改为指定分辨率

(注意是x,不是×,否则会提示bad size,设置之后需要重启scrcpy)

adb shell wm size 2048x1536

恢复为默认分辨率

adb shell wm size reset

获取当前分辨率

adb shell wm size

设置屏幕dpi

adb shell wm density 480

重置dpi

adb shell wm density reset

无线连接

1 查询设备当前的 IP 地址 (设置 →关于手机→状态)
2 启用 adb TCP/IP 连接,执行命令:adb tcpip 5555,其中 5555 为端口号
3 拔掉数据线
4 通过 WiFi 进行连接,执行命令:adb connect 设备IP地址:5555
5 重新启动 scrcpy 即可
6 如果 WiFi 较慢,可以调整码率:scrcpy -b 3M -m 800,意思是限制 3 Mbps,画面分辨率限制 800,数值可以随意调整。
7 如需切换回 USB 模式,执行:adb usb

快捷脚本

新建adb.sh

#!/bin/bash  echo "菜单"  
echo "1. 设置为iPad分辨率"  
echo "2. 设置为Mac分辨率"  
echo "3. 恢复默认分辨率"  
echo "4. 投屏"  
echo "5. 投屏(熄屏)"
echo "6. 无线连接"  
echo "7. 断开无线连接"  
echo "8. 一键配置"  
echo "9. 恢复默认配置"while true; do  read -p "请选择操作(按q退出):" task_number  if [ "$task_number" == "q" ]; then  break  fi  if [ $task_number -eq 1 ]; then  adb shell wm size 2048x1536  elif [ $task_number -eq 2 ]; then  adb shell wm size 2880x1800  elif [ $task_number -eq 3 ]; then  adb shell wm size reset  elif [ $task_number -eq 4 ]; then  scrcpy  elif [ $task_number -eq 5 ]; then  scrcpy -S  elif [ $task_number -eq 6 ]; then  adb tcpip 5555adb connect 192.168.1.5:5555elif [ $task_number -eq 7 ]; then adb disconnectelif [ $task_number -eq 8 ]; then  adb tcpip 5555adb connect 192.168.1.5:5555adb shell wm size 2880x1800 adb shell wm density 480scrcpy -Selif [ $task_number -eq 9 ]; then  adb shell wm size resetadb shell wm density resetelse  echo "无效的输入"  fi  
done

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/114716.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

屏幕录像推荐:Apeaksoft Screen Recorder 中文 for mac

Apeaksoft Screen Recorder 是一款功能强大的屏幕录制软件,它允许用户在 Windows 和 Mac 系统上捕捉和录制屏幕活动。无论是记录游戏过程、创建教学视频、制作演示文稿还是捕捉在线流媒体内容,该软件都提供了丰富的功能和工具。 以下是 Apeaksoft Scree…

【MATLAB源码-第52期】基于matlab的4用户DS-CDMA误码率仿真,对比不同信道以及不同扩频码。

操作环境: MATLAB 2022a 1、算法描述 1. DS-CDMA系统 DS-CDMA (Direct Sequence Code Division Multiple Access) 是一种多址接入技术,其基本思想是使用伪随机码序列来调制发送信号。DS-CDMA的特点是所有用户在同一频率上同时发送和接收信息&#xf…

《动手学深度学习 Pytorch版》 9.4 双向循环神经网络

之前的序列学习中假设的目标是在给定观测的情况下对下一个输出进行建模,然而也存在需要后文预测前文的情况。 9.4.1 隐马尔可夫模型中的动态规划 数学推导太复杂了,略。 9.4.2 双向模型 双向循环神经网络(bidirectional RNNs)…

Ubuntu 17.10的超震撼声音权限

从GNOME GUADEC 2017开发者大会归来之后,Canonical的Didier Roche就开始了一个日更博客系列,主要讲述即将带来的Ubuntu 17.10(Artful Aardvark)发行版将如何从Unity到GNOME Shell的转变。有趣的是,Ubuntu Unity桌面环境…

gin框架39--重构 BasicAuth 中间件

gin框架39--重构 BasicAuth 中间件 介绍gin BasicAuth 解析自定义newAuth实现基础认证注意事项说明 介绍 每当我们打开一个网址的时候,会自动弹出一个认证界面,要求我们输入用户名和密码,这种BasicAuth是最基础、最常见的认证方式&#xff0…

SIEMENS S7-1200 汽车转弯灯程序 编程与分析

公告 项目地址:https://github.com/MartinxMax/SIEMENS-1200-car_turn_signal 分析 题目: 画IO分配表 输入输出m3.0左转弯开关q0.0左闪灯m3.1右转弯开关q0.1右闪灯m3.2停止开关 博图V16配置 设置PLC的IP地址 允许远程通信访问 将HMI设备拖入 注意,我们这边选择的是HMI连接…

数据结构----算法--五大基本算法(这里没有写分支限界法)和银行家算法

数据结构----算法–五大基本算法(这里没有写分支限界法)和银行家算法 一.贪心算法 1.什么是贪心算法 在有多个选择的时候不考虑长远的情况,只考虑眼前的这一步,在眼前这一步选择当前的最好的方案 二.分治法 1.分治的概念 分…

【JavaEE】Callable 接口

Callable 是一个 interface . 相当于把线程封装了一个 “返回值”. 方便程序猿借助多线程的方式计算结果. 实现Callable也是创建线程的一种方法!!!! Callable的用法非常接近于Runnable,Runnable描述了一个任务&#…

Mysql创建视图中文乱码修改docker里的配置

问题现象: 创建的视图查询无数据,查看创建语句得知,where条件里的中文变成了“???”。 在客户端里查询字符编码: show VARIABLES like %char%;就是character_set_server导致的,它配置的竟然不是utf8,…

通过SVN拉取项目 步骤

方法一:文件夹方式 首先新建一个空的文件夹,例如,名为“demo”的空文件夹 在这个空的文件夹中鼠标右键,点击SVN Checkout 会出现下图所示的页面,第一个输入框是svn的项目地址,第二个输入框是拉取项目所放的…

OpenGL —— 2.6、绘制一个正方体并贴图(附源码,glfw+glad)

源码效果 C源码 纹理图片 需下载stb_image.h这个解码图片的库,该库只有一个头文件。 具体代码: vertexShader.glsl #version 330 corelayout(location 0) in vec3 aPos; layout(location 1) in vec2 aUV;out vec2 outUV;uniform mat4 _viewMatrix; u…

docker 安装 sftpgo

sftpgo 简介 sftpgo 是一个功能齐全且高度可配置的 SFTP 服务器,具有可选的 HTTP/S、FTP/S 和 WebDAV 支持。支持多种存储后端:本地文件系统、加密本地文件系统、S3(兼容)对象存储、Google 云存储、Azure Blob 存储、SFTP。 官…

关于Git的入门教程(附GitHub和Gitee的使用方法)

一. Git 概述 Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。Git易于学习、占地面积小、性能极快。它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于Subversion、CVS、Perforce和ClearCas…

SpringMVC之全局异常拦截器

在SpringMVC自动装配核心类之WebMvcAutoConfiguration内部实例化EnableWebMvcConfiguration过程中会触发其父类WebMvcConfigurationSupport内部初始化HandlerExceptionResolver。 1.WebMvcConfigurationSupport public class WebMvcConfigurationSupport implements Applicat…

2434: 【区赛】[慈溪2013]统计方格

题目描述 给出一张 n 行 m 列仅由黑白方格组成的黑白图片(行从上到下 1 到 n 编号,列从左到右 1 到 m 编号)。如下图是一张由 17 行 18 列方格构成的黑白图片,图片中的任意一个方格要么是白色,要么是黑色。 仔细观察这…

Python —— UI自动化之Page Object模式

1、Page Object模式简介 1、二层模型 Page Object Model(页面对象模型), 或者也可称之为POM。在UI自动化测试广泛使用的一种分层设计 模式。核心是通过页面层封装所有的页面元素及操作,测试用例层通过调用页面层操作组装业务逻辑。 1、实战 …

springBoot--web--函数式web

函数式web 前言场景给容器中放一个Bean&#xff1a;类型是 RouterFunction<ServerResponse>每个业务准备一个自己的handler使用集合的时候加注解请求的效果 前言 springmvc5.2 以后允许我们使用函数式的方式&#xff0c;定义web的请求处理流程 函数式接口 web请求处理的…

【Dockerfile镜像实战】构建LNMP环境并运行Wordpress网站平台

这里写目录标题 一、项目背景和要求二、项目环境三、部署过程1&#xff09;创建自定义网络2&#xff09;部署NginxStep1 创建工作目录并上传相关软件包Step2 编写Dockerfile文件Step3 编写配置文件nginx.confStep4 创建nginx镜像Step5 运行容器 3&#xff09;部署MysqlStep1 创…

Spring Cloud Alibaba Seata 实现分布式事物

Seata 是一款开源的分布式事务解决方案&#xff0c;致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式&#xff0c;为用户打造一站式的分布式解决方案 Seata 官网&#xff1a;https://seata.io/zh-cn/ Spring Cloud Alibaba 官…

Leetcode—2652.倍数求和【简单】

2023每日刷题&#xff08;四&#xff09; Leetcode—2652.倍数求和 实现代码 int sumOfMultiples(int n){int ans 0;int i 1;for(; i < n; i) {if((i % 3 0) || (i % 5 0) || (i % 7 0)) {ans i;}}return ans; }测试结果 之后我会持续更新&#xff0c;如果喜欢我的文…