Mac使用自动操作(Automator)发送文件到Android设备

需求场景

在Android开发调试的过程中,当需要把电脑上的文件传输到连接的Android设备时,通常的做法是通过adb push命令。那既然是通过命令操作,是否可以通过可视化的工具来操作呢?例如在Finder中,右击某一个文件或者目录时,弹出一个选项为“发送此文件到Android设备”。有了需求后,那么开始进行调研和分析,最后得出结论:可以搞。以下记录实现流程。

操作环境

  1. macOS Monterey 版本 12.7.1
  2. Automator软件
  3. adb环境(如果没有的话,可以网上搜下Mac配置adb)

实现方案

1、打开Automatorapp;机器人小图标
在这里插入图片描述
2、按照如下操作
在这里插入图片描述
3、在shell脚本中增加如下内容

# 替换为您实际的adb命令路径
adbPath="/Users/wuang/Library/Android/sdk/platform-tools/adb"
# 替换为您想要发送到的目标sdcard路径,例如"/sdcard/"
destinationPath="/sdcard/"# 获取选中的项目路径
itemPath="$1"# 显示发送中通知
osascript -e 'display notification "正在发送至模拟器..." with title "发送至模拟器"'# 使用adb命令将文件发送到Android设备的sdcard路径
"$adbPath" push "$itemPath" "$destinationPath"# 检查adb命令的退出状态
if [ $? -eq 0 ]; then# 发送成功,显示成功通知osascript -e 'display notification "发送至模拟器成功!" with title "发送至模拟器"'
else# 发送失败,显示失败通知osascript -e 'display notification "发送至模拟器失败!" with title "发送至模拟器"'
fi

在这里插入图片描述
4、保存此程序名称为“发送至模拟器”。

5、在设置中找到键盘设置项,按照如下设置。
在这里插入图片描述
6、大功告成,看效果,还会在通知栏通知状态哦

在这里插入图片描述
如果疑问,欢迎评论区交流或者直接联系本人。

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

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

相关文章

软件测试相关内容第三弹--软件测试基础

写在前:在前篇的两篇博客介绍中我们主要学习软件测试的相关概念,对软件测试进行了初步的了解,本篇博客将进一步进行学习。重点内容包括:软件测试的生命周期、如何描述一个bug、如何定义bug的级别、bug的生命周期以及在实际工作中如…

数学建模【时间序列】

一、时间序列简介 时间序列也称动态序列,是指将某种现象的指标数值按照时间顺序排列而成的数值序列。时间序列分析大致可分成三大部分,分别是描述过去、分析规律和预测未来,本篇将主要介绍时间序列分析中常用的三种模型:季节分解…

多线程扫盲篇

一:前言 多线程在java中具有举足轻重的地位,无论是平时开发中还是面试求职中,对多线程这一块的知识点考察都非常多的,本周我们将平时开发中、面试中常见的一些多线程知识进行梳理,让大家对这一块有更加深入的理解 二…

AOP切面编程,以及自定义注解实现切面

AOP切面编程 通知类型表达式重用表达式切面优先级使用注解开发,加上注解实现某些功能 简介 动态代理分为JDK动态代理和cglib动态代理当目标类有接口的情况使用JDK动态代理和cglib动态代理,没有接口时只能使用cglib动态代理JDK动态代理动态生成的代理类…

【C++】template方法undefined reference to

这周本来要写几个前端的知识点,因为刚好最近接了一个前端的项目。但是这个有点复杂,自己还没学明白,没法写文章出来。就写一个这周开发遇到的问题。 另外吐槽 VS Code 提升了 SSH 需要的对方服务器的 linux 版本,都连不上了&…

自动驾驶---Motion Planning之Speed Boundary

1 背景 在上篇博客《自动驾驶---Motion Planning之Path Boundary》中,笔者主要介绍了path boundary的一些内容,通过将道路中感兴趣区域的动静态障碍物投影到车道坐标系中,用于确定L或者S的边界,并利用道路信息再确定Speed的边界,最后结合粗糙的速度曲线和路径曲线,即可使…

armv8/armv9不同特权程序之间的跳转模型

目录 1、前言2、4个特权等级/4个安全状态之间的跳转模型3、启动时镜像之间的跳转模型4、runtime程序之间的跳转模型推荐 本文转自 周贺贺,baron,代码改变世界ctw,Arm精选, armv8/armv9,trustzone/tee,secur…

【docker基础学习之】镜像构建

下面是在工作过遇到的一些实际例子,谨以此作为笔记参考 目录 1.背景2. 寻找方案3. 如何解决4.解决步骤4.1 DockerFile4.2 现在要做的 5. 镜像相关命令 1.背景 部署(迁移)项目时发现,项目的excel导出功能报错,错误如下…

html--彩虹马

文章目录 htmljscss 效果 html <!DOCTYPE html> <html lang"en" > <head> <meta charset"UTF-8"> <title>Rainbow Space Unicorn</title> <link rel"stylesheet" href"css/style.css"> &l…

2024 再战基金

这是一场长时间的拉锯战&#xff0c;刚提交了初稿&#xff0c;等学校审查&#xff0c;再坚持10天&#xff0c;今年的申报任务结束。 很长时间&#xff0c;自己都不愿意动笔&#xff0c;因为确实没有好的idea&#xff0c;无法凝练科学问题&#xff0c;更想当一名踏实的工程师&a…

qsort函数的使用及其模拟实现

一.基本介绍 注意&#xff1a;qsort函数是默认从小到大排序 二、qsort 函数的使用 1.排序数组 int compare(const void* e1, const void* e2) {return *(int*)e1 - *(int*)e2;//强制类型转换 }int main() {int arr[10] { 44,5,34,56,42,90,43,1,52,98 };int num sizeof(…

nextjs link跳转 和 window.location.href 跳转的区别

Next.js 的 next/link 组件和浏览器原生的 window.location.href 之间的跳转在功能上都实现了页面跳转&#xff0c;但它们之间存在一些重要的区别&#xff0c;特别是在 Next.js 这样的服务端渲染&#xff08;SSR&#xff09;或静态站点生成&#xff08;SSG&#xff09;框架中。…

ubuntu18.04下zookeeper安装与简单使用

下载与解压 官网下载地址 Apache ZooKeeper 解压 tar -zxvf zookeeper-3.4.10.tar.gz 环境准备 zookeeper基于java开发&#xff0c;因此首先需要安装java的jdk包 sudo apt-get install openjdk-8-jdk修改配置 进入解压目录里的conf文件夹内 mv zoo_sample.cfg zoo.cfg …

【R语言爬虫实战】抓取省市级城市常务会议内容

&#x1f349;CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一&#xff5c;统计学&#xff5c;干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项&#xff0c;参与研究经费10w、40w级横向 文…

win11家庭版docker和milvus

docker 1、官网下载docker文件Get Started | Docker&#xff0c;选择download for windows下载。 2、双击打开下载好的文件Docker Desktop Installer.exe&#xff0c;add shortcut to desktop选择√代表同意添加快捷键到桌面&#xff0c;如果不勾选就说明不创建快捷键&#x…

分布式锁从0到1落地实现01(mysql/redis/zk)

1 准备数据库表 CREATE TABLE user ( id bigint(20) NOT NULL COMMENT 主键ID, name varchar(30) DEFAULT NULL COMMENT 姓名, age int(11) DEFAULT NULL COMMENT 年龄, email varchar(50) DEFAULT NULL COMMENT 邮箱, PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8;I…

基于SpringBoot的教务管理系统

1&#xff0e;引言 1.1编写目的 教务管理系统是完成学生管理、用户管理、校建管理、课程管理、教师管理、成绩管理、校内新闻、选课管理和教评管理九大管理模块&#xff0c;由教务工作人员系统给管理员、教师、以及学生多用户角色&#xff0c;各用户依据自己角色的不同而操作…

【前端】vscode快捷键和实用Api整理

vscode的快捷键 创建a.html 生成模板 !回车 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" …

AI写真,太火了

昨天晚上&#xff0c;AI大佬吴东子直播讲解了AI写真项目&#xff0c;说21点破局星球会准时放出预约链接&#xff0c;结果21点星球直接崩溃了&#xff0c;只能说这个项目太火爆了 经过星球授权&#xff0c;这里把整个项目的SOP截取一部分给到大家&#xff0c;完整的SOP太长了&am…

Python基础学习(7)函数作用域与名称空间

文章目录 一.认识函数对象1.函数被引用2.函数作为元素3.函数可以作为参数和返回值 二,名称空间1.内建名称空间(存放内置函数)2.全局名称空间(Python定义在外层的名字)3.局部名称空间(存在函数内定义的名字) 三,作用域1.global 提权2.nonlocal 降权 四,匿名函数 Python基础学习(…