EasyClick脚本开发中遇到执行错误:illegal character: (js/.DS_Store#1)

前言

最近在写一些EasyClick的脚本,刚开始还好好的,突然就发现调试报错了。
file

由于EasyClick的错误管理机制和auto.js不同,在脚本报错的时候,就需要各种排查。

排查方法

文件目录结构如下:
file

首先重启被控端和IDEA,问题没有解决。

检查main.js代码,经过各种删除、修改、替换,发现错误依旧。

检查ui.js代码,问题依旧。

检查main.html代码,问题依旧。

新建一个脚本工程,测试代码发现正常。因此可以排除被控端和IDEA的问题。

再来看日志内容:

[2020-12-16 11:30:37.718]【远程设备】准备运行工程...
[2020-12-16 11:30:37.718]【远程设备】开始启动...
[2020-12-16 11:30:37.800]【远程设备】开始执行,请稍等
[2020-12-16 11:30:37.817]【远程设备】解析js/.DS_Store文件
[2020-12-16 11:30:37.817]【远程设备】运行失败
[2020-12-16 11:30:37.824][开发工具版本5.12.0] 
[2020-12-16 11:30:37.824]【远程设备】[ APK版本:5.12.0 品牌:Xiaomi 机型:MI 8 Lite 安卓版本:9]
执行错误:执行错误:illegal character:  (js/.DS_Store#1)

百度搜索“illegal character”,提示是非法字符。
file

经过检查代码,并没有什么语法和字符上的错误。究竟是什么原因呢?

再来看文件路径,.DS_Store是在js目录下的。但是打开该目录,并没有此文件。
难道是隐藏文件?
file

百度搜“DS_Store”,查到如下内容:

.DS_Store是Mac OS保存文件夹的自定义属性的隐藏文件,如文件的图标位置或背景色,相当于Windows的desktop.ini。

原来是这个文件在作怪。

解决办法

先在终端中禁用“DS_Store”文件生成。重启Mac即可生效。

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE

恢复.DS_store生成:

defaults delete com.apple.desktopservices DSDontWriteNetworkStores

在js目录下,右键进入终端管理器:
file

执行以下命令删除DS_Store文件。

rm -f .DS_Store

执行删除命令后,终端不会指示此操作已完成。 如果命令不起作用,它将仅返回一条消息。

后记

发现此问题后,飞云也联系了EasyClick的作者机器猫并及时反馈。
EasyClick的执行机制是:js文件夹按照字母排序逐个加载,最后加载main.js
但是目前5.12版本对该目录的文件没有过滤规则,导致Mac下的隐藏文件也被加载执行,最终导致报错。
因此,建议EasyClick给js目录的文件加载建立一个规则,只执行js文件,或者只执行指定的js文件。

EasyClick免费云控

全动云是淘美科技旗下2021年最新的免费云控脚本管理系统。提供设备分组、设备管理、脚本分组、脚本管理、任务管理、素材管理等强大功能。支持用户上传自定义EasyClick脚本。
全动云大数据智能营销管理系统

相关链接

EasyClick开发文档

EasyClick脚本开发教程(1)IntelliJ IDEA Ultimate的安装方法
EasyClick脚本开发教程(2)安装开发工具并创建项目
EasyClick脚本开发教程(3)连接设备与屏幕映射

EasyClick实现某音直播间刷屏喊话,循环发送随机话术
EasyClick实现某音发送指定语音,发送好友私信,引流脚本必备技术

EasyClick交流群

QQ群号:737066890

EasyClick技术交流

1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
EasyClick学习交流①群:737066890
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » EasyClick脚本开发中遇到执行错误:illegal character: (js/.DS_Store#1)

企业级大数据智能营销管理系统

了解详情