当前位置: 首页 > news >正文

安卓手机使用Tasker实现应用级功能,屏幕翻译v9,翻译复制贴图

前言

故事开始的时间很早,早到我的初中时代,好好的英语突然就掉线了。

到了2017年,我遇到了Tasker,我的英语一样不在线,还好Tasker是有中文的。

2018年,屏幕翻译第一个版本出现了,视频都还在,好丑,去看看 。

很长时间,我把它叫界面翻译,并分享在网上。

2019年,分享了二代产品,去看看 。

接着,记得有改进型v5在群里分享,后来有一段时间的功能改造,改得完全不能用,v6没了。

2021年,有一天脑洞大开,v7又打开了局面,全新的工作原理,更快的速度,第三代来了,去看看 。

时间不长,v7长大了,成了v8,然后不断+0.1。

v8.6又迎来了贴图小伙伴,去看看 。

不断+0.1。。。

现在,你好,屏幕翻译v9。

老司机请直接获取:屏幕翻译v9  密码:27315

对于新手,除了以上网盘文件,还有以下保姆级教程,后续想起什么会随时补更。


实现了什么功能?

主要有三:

  1. 翻译:翻译屏幕上的文字到任意的语言。
  2. 复制:复制屏幕上出现的任意文字。
  3. 贴图:把关键信息固定在屏幕上。

具体细分看图:

超级清晰大图
超级清晰大图

视频演示

安卓Tasker屏幕翻译v9_哔哩哔哩_bilibili


准备

你得有一台运行着安卓系统的设备,手机、平板、或者啥。。都行,唯一要求系统安卓5以上,除此以外基本不挑,简单说就是5年以内的手机都可以。

华为的鸿蒙OS好像也可以。


安装Tasker

这是一个神器。

Tasker是一款Android应用程序,最初(2007年)由一位名为"Pent"的开发人员开发,后来(2018年)被"João Dias"购买。

属于个人开发应用,现任开发者非常活跃,更新版本也异常勤快,一天都能更新好多个beta版本,不断新增便捷的功能(和修补以往的Bug),不存在什么最终版打死不改版,也没有什么Pro版高级版,

Tasker是干什么的?

官网概括地很好:Total Automation for Android,Android 的全面自动化。

官网:Tasker for Android

商店:Tasker - Google Play 上的应用

众多的开发版本:Tasker - Google 云端硬盘

开发者活跃论坛:Tasker: Total Automation for Android 

当前最新正式版:6.0.10

当前最新测试版:6.1.4-beta

当前推荐安装版本:6.1.2-beta

官网、商店和Google网盘都能下载到安装包(大约15M),下载后安装即可。

Tasker并不是免费软件,商店售价3.49美元,因为一些不可描述的原因,我们想在这个不可描述的商店购买到这个app并不容易,所以我假装你已经购买。

开玩笑的,虽然有不少的app用户已经购买了授权,但对于新手来说,让本不富裕的生活雪上加霜,容易让一趟好奇之旅还没开始就会结束。

Tasker的正版验证机制很简单,就是问商店:

  • Tasker:我是不是正版?
  • 商店:是。
  • Tasker:好的。

早期版本中,如果商店不存在,Tasker问不到结果,将直接可无限制使用;后来开发者改了,变成了没有商店将直接不可用,但是也保留了"问不到结果,将直接可无限制使用"的优良传统。

所以。。。

安装FakeStore

地址:Releases · microg/FakeStore · GitHub

商店有了,但是商店不理Tasker。 

没毛病。(参考视频P2)


安装TouchTask

贴图必须用这个插件,所以要装。

商店:TouchTask - Google Play

另一个商店:下载TouchTask的安卓版本

汉化版:Tasker插件  密码:cf1234,由酷安大佬 @Jeff_CF 提供。

这是一个免费app,Tasker的强大帮手,app本身不能执行任何动作,只能作为插件由Tasker去调用。

这个插件可以让你在无root状态下,实现模拟点击、长按、滚动、剪切、复制、粘贴、设置文本、选择文本、滑动和捏合、添加图层、阅读屏幕、OCR等操作,在屏幕翻译里只用到了阅读屏幕、添加图层和识别二维码功能。

其中,阅读屏幕功能需要无障碍辅助服务权限,无障碍辅助服务的初衷是帮助残障人士能够更方便得使用手机,但也成了刷题开挂的工具,包括现在需要实现的自动化功能。

TouchTask内实现的功能,全程离线,不需要网络。


安装AutoInput(可选)

商店:AutoInput - Google Play

另一个商店:下载AutoInput的安卓版本

汉化版:Tasker插件  密码:cf1234,由酷安大佬 @Jeff_CF 提供。

这是另一个插件,功能与TouchTask高度相同,互有优略,作为可选的原因就是在阅读屏幕(读屏)方面要优于TouchTask,比如在一些复杂界面,AutoInput能读到TouchTask读不到的文字,更出色。

不安装也没有任何关系,如果真的碰到TouchTask读不出文字的时候,OCR功能也能完全胜任。

AutoInput的开发人员和现任Tasker的开发人员是同一人,是先为Tasker开发了AutoInput,后接管了Tasker,app本身说是免费使用,但是每天需要你看30秒的广告,不过上方的汉化版很机智的解决了这个问题。

网上也有其他的免广告版本:AutoInput 2.8.2b Apk Full Unlocked


搞定一些权限问题(建议)

APP要正常地运行起来,需要获得足够的权限,Tasker因为能干的事情非常多,多到可能用得上你手机里的任何一个能给的权限,Tasker不回给你一次性全要,而是需要用到什么权限就提醒你需要授权什么权限,有些权限可以在手机上直接授予,但有一些隐藏的权限,需要使用电脑通过ADB工具授予,比如静默截图,和无障碍保活。

ADB授权需要手机连接电脑,并进入手机的开发者选项,打开 USB调试USB调试(安全设置)(如果有的话)。

无线调试也可以的。

屏幕翻译内的OCR和贴图功能,都用到了截图功能,在默认未授予大权的情况下,也不是不能用,就是每次截图时都会问你能不能截图,非常的影响体验。

但只要用以下代码授权一次(就一次),就可以免提示无声无息静默截图。

adb shell appops set net.dinglisch.android.taskerm PROJECT_MEDIA allow

另外,Tasker和TouchTask、AutoInput都需要无障碍辅助服务权限,这个权限的特殊性,使得每次app被完全关闭,都会丢掉这个权限,而再次授权需要经过多次点击,还可能需要强制等待10秒观看风险提示,所以,在通常情况下,我们要对app做一些设置:

  • 自启动:开
  • 省电策略:无限制
  • 最近任务:加锁

这样,无障碍辅助权限一般就不会掉了,Tasker也能随时为我们服务,至于耗电,低,低得很,甚至不会超过1%。

再进阶一点,我要让无障碍辅助权限哪怕真掉了,也让它自动开起来,新版本Tasker提供了这个功能,只需ADB授权执行以下代码,再在Tasker首选项内勾选需要保活的应用,就能做到无障碍权限永不掉。

adb shell pm grant net.dinglisch.android.taskerm android.permission.WRITE_SECURE_SETTINGS

其实吧,Tasker的开发者提供了更简单简洁快速的授权工具:

下载地址:Releases · joaomgcd/Tasker-Permissions · GitHub

上方2个权限对应下图绿色的2个,红色未授权,绿色已授权,点击Grant All Permissions可以一键授予所有权限,但在一些低版本安卓上,因为本身不存在一些接口,所以一键授权时会报错(第5第6个名字带Buttons的),这时需要挨个地点击红色框框授权,转绿就成功,不成功就报错。

授权后可进入Tasker首选项→监视器→KEEP ACCESSlBILITY RUNNING设置无障碍保活。

建议以上APP均加入无障碍保活豪华套餐。


进入Tasker

参考视频P4,首次进入基本就是按流程走,里面的2种模式Tasky和Tasker:

Tasky模式只是可以让你搜索别人分享的配置并一键加载,然后选择开启或关闭,且只有正版用户才可以使用。

Tasker模式才是最好选择,他说得没错,唯一限制你的是你的想象力。

想象力的第一道坎

来了来了,刚进入Tasker的主界面什么都没有,啥也不能干,连示例都没有。

底部是项目标签,默认有一个基础项目,就是那个小房子,上面有4个标签分别为:

  • 配置文件:意为当什么时候
  • 任务:做一些事
  • 场景:显示一些内容
  • 变量:存储一些数据

也就是配置文件决定什么时候执行什么任务,任务里可以控制场景和变量。


导入配置文件

(参考视频P5、P6)

Tasker可灵活导出导入各部分的数据,屏幕翻译v9含有多个配置文件、任务和场景,是一个小项目,请按导入项目的方式加载。


屏幕翻译v9

导入项目后,要使用那些个功能需要先召唤出主菜单,就是以下3个图标

呼出主菜单

当成功导入屏幕翻译v9_2022xxxx.prj.xml文件,点击右上方的 ✔ 后,主菜单会自动出现。再以后使用时,就要手动呼出。

一般来说方式有二:

  • TouchTask已安装运行的情况下,可 音量键+ 跟 音量键- 各按一次,无先后顺序。
  • 通知栏快捷方式按钮。

Tasker内置了3个通知栏快捷方式,此时有一个快捷方式已经变成了"屏幕翻译",把这个按钮放到方便的地方,就可以像开关WIFI一样开关屏幕翻译主菜单了。

当然,进入Tasker里面手动运行"屏幕翻译"任务或者打开"屏幕翻译主菜单"的配置文件也是可以的,就是没了便利快捷。

读屏方式

以上说了,AutoInput和TouchTask都支持无障碍读取屏幕上的文字信息,这里设置了优先级:

  • 当只安装了TouchTask的时候,会自动使用TouchTask读屏。
  • 当安装了AutoInput的时候,会自动使用AutoInput读屏。

也就是AutoInput优先。

如果没有安装AutoInput,Tasker虽然不会用到,但也会检测到插件缺失,会有一个三角感叹号提醒,无视就好。


第一件事

对于配置本身,能自动的都给自动了,就只剩下一个顽固的场景大小,它的大小不能自动调节,而是根据原始分享者的设备分辨率和场景大小的比例,再根据目标机器的分辨率,以同样的比例得出这个场景在目标机器上的场景大小,这个过程在你导入项目瞬间就已经完成,然而这个得出的场景大小根本不对,反正就不对,所以导入配置后的第一件事就是修改场景大小。

有2个场景大小需要修改的,分别是"区域截图v9"和"屏幕翻译图层v9",具体的值如图所示:

其中①②等于设备分辨率的宽,③等于设备分辨率的高,而④等于设备分辨率的高减去最上方状态栏的高度,也就是%SBO显示的数值,最终④=③-⑤,请忽略⑤本身是个负值,所以2400-103=2297就是④的最佳值。

在实际修改一个场景时,要先修改场景的大小,再修改场景内的元素大小。

不明白请参考视频。


翻译

(参考视频P7)

把屏幕上的文字翻译为其他语种(共109种)。

其中,小米英译中使用了小米的翻译接口,也只能英译中。

其余使用了多种不同方式的谷歌翻译,具体区别看图或者视频了解,不多说了。


输入时翻译

(参考视频P8)

灵光一闪的产物。

 把你在文本框正在输入的文字翻译为别的语种。


复制

(参考视频P9)

也不仅仅复制。

其中助手读屏,用于获取当前页面的内部信息。

二维码识别,解决了自己扫自己的问题。


OCR

无论是翻译还是复制,当遇到特殊页面或者图片的时候,读屏将不起作用,只能通过OCR识别,这里使用了百度的OCR接口,免费,但有次数限制,一般情况是够用的。

请自行进入百度智能云-管理中心 添加应用

获得API KeySecret Key,放到任务里的"5百度OCRtoken"。

我在分享的项目里,内置了用我自己的key获取好的token,有效期大概30天,有及时获取到的同学就可以立马体验到OCR功能。


区域截图

区域OCR和贴图功能对区域截图的强烈需求催生下的一个小模块,有限的知识使用了简单的原理实现的小功能,用过电脑截图的都知道,小范围截图就是框一个框,可以任意姿势地框,但是在这里,由于实现比较简单,所以功能也不丰富,框的的时候只能从左上角开始,框到右下角。

我就是想说,区域OCR和贴图的时候,是左上到右下

还有,框完后需要进行下一步的步骤是返回,这一点跟Tasker的操作逻辑一样,返回即确认


8向场景移动

主菜单你看到了,有3个图标+1个透明区域,共4个格子,呼出主菜单默认是出现在屏幕的左上角的,如果图标挡住了什么而需要移动的,可以拖动图标直接移动,但是只能在8个方向上移动,即上下左右和4个对角方向,米字型的8个方向。

这也是Tasker在场景功能方面的不足之处,能8个方向的笨拙移动已经足够满足正常使用。

8向移动功能是一个独立的小模块,名称为"@场景移动-8向",任何可交互的场景只要在场景内的滑动标签内直接调用此任务,就拥有了8向移动功能。


贴图

(参考视频P10)

我敢说,这是多少人只存在于想象中的功能,当你在2个app之间切来切去,好输入一些没办法复制的身份证号码、银行卡号码、快递单号之类的内容时,你就会想到,就不能把那个号码放在屏幕最上层让我直接抄吗?

至少,自我有手机起,已经无数次惦记着这个功能。

现在,手机端贴图在此!

视频演示:

另外,PC端的早就有了成熟的贴图工具,比如我天天都用的鼠标手势应用: MouseInc

地址:耍下 (shuax.com)

只要按住鼠标右键逆时针画个圈即完成贴图,每个看到的同事都大呼牛逼。


其他类似功能的APP?

有的有的。

几年前刚开始做屏幕翻译的时候,我确实没注意到有app已经可以提供屏幕翻译功能,待到今年在网友提醒下发现提供屏幕翻译的app已经是一抓一箩筐,于是,我在国内外商店找了30多个app,并测试。

测试过程很恶心,不断授权不断看广告之后,得到结果如下(仅供参考的哈)。

结论,在不雪上加霜的情况下

  • 第一推荐为搜狗翻译
  • 第二推荐为百度翻译
  • 第三推荐有道翻译官吧(凑数的)

当然我更加推荐Tasker版本的实现:屏幕翻译v9。

大概也有可能是测试过程身体不适的原因(就是上面说的恶心),每个APP都是匆匆忙忙快快速速以迅雷不及掩耳之势地测了一下,体验结果可能真的不准,我看哔哩哔哩上就有好多个狂吹某APP的up(演示的时候都出现了免费次数用完),就这样还有勇气分享?

不过孰好孰坏,有兴趣的同学还得亲自体验才知道。

而在贴图方面,在安卓系统内,没有,一个都没有,找不到,不知道谁可以,仅此一家,如有知道的同学,麻烦请知会一声。


最后

技术在进步,想法也在进步,就写这篇6000字小作文的过程中,屏幕翻译v9就修改了多少次,写着写着你应该手动怎么样的时候,突然灵机一动一动动,为什么要手动?自动不香吗?然后就改成了自动的。

屏幕翻译从v1到现在v9,虽然版本号是随便编的,也都是代表着一直向前的脚步,没有什么最终版,有好点子会继续想办法实现。加油!

相关文章:

  • 一篇文章吃透 CSS3 属性: transition过渡 与 transform动画
  • 通讯录的动态版本
  • Docker搭建Kafka集群
  • WPS增加正则处理函数,简直如虎添翼
  • opencloudos容器镜像优化
  • 二.go语言条件与循环
  • 高阶函数1
  • 电子信息考研择校
  • 互联网数据管理平台
  • 本科行政管理毕业论文什么题目好写点?
  • kmp の 笔记
  • 最新网站证书提示风险的原因和几个解决方法
  • lambda表达式(C++11)
  • java计算机毕业设计图书共享系统源代码+数据库+系统+lw文档
  • 用Python生成Hilbert矩阵
  • 「译」Node.js Streams 基础
  • 2017-09-12 前端日报
  • Java读取Properties文件的六种方法
  • Java多线程(4):使用线程池执行定时任务
  • PHP变量
  • React的组件模式
  • Vue 动态创建 component
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • zookeeper系列(七)实战分布式命名服务
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 聚类分析——Kmeans
  • 来,膜拜下android roadmap,强大的执行力
  • 离散点最小(凸)包围边界查找
  • 异常机制详解
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​flutter 代码混淆
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • $.ajax()
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (done) 两个矩阵 “相似” 是什么意思?
  • (java)关于Thread的挂起和恢复
  • (pojstep1.3.1)1017(构造法模拟)
  • (Ruby)Ubuntu12.04安装Rails环境
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (三)elasticsearch 源码之启动流程分析
  • (转)程序员技术练级攻略
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .net core 6 redis操作类
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .net操作Excel出错解决
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • .Net中间语言BeforeFieldInit
  • @开发者,一文搞懂什么是 C# 计时器!