使用场景
多个模拟器登录app时,账号密码存储在同一个文本中,读取方式为读取一行,删除一行。理论上没问题,但实际操作中,多个模拟器会读取同一个账号密码,这个代码就是为了解决这个问题。
实现原理
我把阅读课文的过程分为几个阶段:先报名,再排队,最后依次阅读。
具体来说,“先注册”是指模拟器将自己的序列号(imsi码)传输到共享文件夹中,“重新排队”是指模拟器的imsi码按顺序写入文本中,“按顺序读取”是指将第一个imsi码存储在imsi文本中的模拟器开始读取,第一个完成,第二个读取,以此类推。
代码过程
获取模拟器的imsi代码
设备。GetImsi()
创建新的imsi来存储文本
如果目录。存在('/sd卡/图片/imsi.txt')=0然后
file . write('/sdcard/pictures/imsi . txt ')
如果…就会结束
使用附加命令将模拟imsi代码写入文本
文件。追加'/sdcard/pictures/imsi.txt ',imsi '\n '
阅读文本中的imsi代码
dim arr=文件。readline('/sdcard/pictures/imsi . txt ')
阅读文字后判断第一个imsi是否为本地imsi码。
如果arr(0)=imsi,则
如果上一步判断为真,开始阅读正文,阅读后删除正文。
dim txt=file . readline('/sdcard/pictures/a . txt ',1)
延迟50
文件。delete line '/sd卡/图片/a.txt ',1
延迟50
删除imsi文本中的第一个imsi代码。这个过程意味着当前模拟器已经阅读完毕,其他模拟器可以阅读文本。
文件。delete line '/sdcard/pictures/imsi . txt ',1
假设步骤中的判断无效,即前面还有其他模拟器,则需要循环步骤至,直到当前模拟器可以读取文本,同时退出循环。
核心内容
通常,当我们使用多个模拟器时,我们会使用模拟器附带的同步器功能。这时候我们只需要操作一个模拟器,其他模拟器也会用它做同样的事情。当我们使用同步器启动脚本时,所有脚本将同时打开,文本将同时被读取。此时,同一账号密码将被多个模拟器读取。
在本期文章中,我们使用了“缓冲”文本。首先,我们保存模拟器的imsi代码进行读取,然后依次执行,从而将原来的“同步读取”变为“异步读取”,有效防止脚本读取重复文本。
备注
本期我打包测试了这个操作逻辑的代码,正常使用了四个模拟器。更多测试,如有疑问请在文章下方留言。