【易语言】雷神_模拟器操作模块 1.10

发表于:2021-01-12

前言

鉴于雷神模拟器的强大与高效,以后我们的开发环境将逐步从雷电转移到雷神中来。

而以前的雷电操作模块,一切都是以雷电为基础,兼容雷神,显然不能满足需求,所以重新修订设计了这个模块,以后模块将以雷神模拟器为基础,兼容雷电

本模块依然永久免费开源。

简介

模块中集成了大量adb.exe,lsconsole.exe与ls.exe的常用命令,可以针对雷神模拟器进行各种操作。

adb(Android Debug Bridge)是Android SDK中的一个工具, 使用ADB可以直接操作管理Android模拟器或者真实的Andriod设备。

lsconsole 是雷神模拟器提供的一个控制台工具,用来对模拟器进行管理设置,其中提供了一个adb调用接口,所以一样可以执行各种adb命令。

ls 是雷神模拟器提供的一个adb shell命令转发器,可以更方便的执行各种shell命令。

由于3种方式都能执行shell命令,所以在模块中,大家会看到很多功能相同的子程序,具体采用哪一种,大家可以自行选择。

 

须知

1、本模块必须以管理员身份运行,否则很多命令将无法正常工作。

2、由于模块中大部分命令都是通过命令行执行exe来进行操作,模拟器的安装目录就相当重要,一定要先执行“雷神_取安装目录()“。

3、想要从以前的雷电模块,转移到雷神模块,只需要修改几个类模块名称,然后全局搜索“雷电_”,替换为“雷神_”,即可完美移植。

 

请注意:本模块不要与雷电操作模块同时使用,会有冲突,也无须同时使用,因为本模块包含了雷电模块的所有功能,并完美支持雷电模拟器。


点击下载:雷神模拟器操作模块 v1.10

模块交流群:48855404


更新日志


雷神_模拟器操作模块 v1.10 (2022-04-21)
1、修复 雷神lsconsole操作.取模拟器信息(),当参数[结果类型]=-1时,无法获取信息的问题。
2、新增 三个操作类.开关位置信息(),开启或者关闭模拟器的位置信息(GPS定位)。
3、新增 三个操作类.查询wifi状态(),查询当前模拟器的wifi状态,返回查询结果。
4、新增 三个操作类.重载文件系统(),重新挂载安卓文件系统。默认情况下,安卓部分系统目录是只读模式,如果你需要对这些目录进行改写操作,必须先重载文件系统。


雷神_模拟器操作模块 v1.9 (2022-04-08)
1、修复 三个操作类.应用是否启动(),在某些场景判断不准确的问题。
2、修复 雷神adb操作.上传文件(),会自动修正目录参数,避免因参数错误而无法上传。
3、优化 三个操作类.启动应用(),参数[应用类名]留空时,为启动主界面。
4、优化 雷神_取安装目录(),现在可以获取到“雷电模拟器繁体版”的安装目录。详情见模块中的参数说明。
5、优化 雷神_按键设置(),当对应的配置文件不存在时,现在会根据参数新建一份按键设置并保存。


雷神_模拟器操作模块 v1.8 (2022-03-24)
1、修复 当易语言系统配置中,启用了严格检查参数时,编译报错的问题。
2、修复 雷神adb操作.上传文件(),当上传文件为目录时,会提示文件不存在的问题。
3、修复 雷神_置注册表(),当注册项中不存在时,无法成功写入的问题。
4、优化 雷神_取安装目录(),优化了桌面快捷方式的获取逻辑,更容易获取到安装目录;
增加参数“自动写入注册表”,当成功从桌面快捷方式中发现安装目录时,自动将此目录的模拟器信息写入到注册表中。


雷神_模拟器操作模块 v1.7 (2022-01-23)
1、修复 雷神lsconsole操作.取模拟器信息(),当参数“条件类型”为-1时,无法返回正确的结果的问题。
2、修复 雷神ls操作.自定义命令(),参数“序号”未生效的问题。


雷神_模拟器操作模块 v1.6 (2022-01-20)
1、修复 雷神_置注册表(),移除了内部一个调用核心库5.81的命令,避免因易语言版本太低而无法使用模块的问题。
2、修复 雷神adb操作.应用是否启动(),当adb异常出错时,也会返回为真的问题。


雷神_模拟器操作模块 v1.5 (2022-01-10)
1、新增 雷神_按键设置(),修改指定应用的全局按键设置。在启动应用之前执行一次,即可对全部模拟器生效。
2、优化 雷神_置安装目录(),执行后,其他操作类中的模拟器目录都会同步为此目录
3、修复 雷神lsconsole操作类,中几处可能导致数组下标错误的问题。


雷神_模拟器操作模块 v1.4 (2021-12-09
1、修复 lsconsole.置摄像头图片(),错误的将雷神判断为雷电,而提示版本过低的问题;
2、修复 雷神_取安装目录_全部(),因为上一个版本中修改了取注册表部分的代码,而导致此命令失败的问题。
3、新增 雷神_取定位信息(),取出模拟器配置中的定位信息
4、新增 三个操作类.取当前包名(),取出当前前台运行的应用包名


雷神_模拟器操作模块 v1.3 (2021-11-17)
1、新增 托盘_刷新(),用来清理意外关闭的模拟器所残留的托盘图标;
2、新增 雷神_取注册表(),获取指定版本的模拟器在注册表中的信息;
3、新增 雷神_置注册表(),修改指定版本的模拟器在注册表中的信息;
4、修改 雷神_取安装目录(),移除了内部的写注册表操作;
5、修改 雷神_置安装目录(),增加参数“写到注册表”,为真时,会同时将“安装目录”写入到注册表;
6、修改 三个操作类.查找文件(),现在可以根据文件权限、文件大小、创建时间、修改时间、访问时间来查找文件。
7、修复 adb.重启adb服务(),有几率遇到之前连接正常的模拟器,重启后反而无法连接的问题。

雷神_模拟器操作模块 v1.2 (2021-11-13)
1、优化 三个操作类中的:“枚举安卓控件( )”,“寻找安卓控件( )”,增加参数:“屏幕控件”,用来手动选择屏幕控件xml文本进行解析,如果本参数留空,则自动执行“取屏幕控件”获取xml。同时也更新了例程中的控件部分演示代码。
2、修复 上一个版本中“雷神_取当前版本()”无法正确获取模拟器版本号,而出现的诸多问题。

雷神_模拟器操作模块 v1.1 (2021-11-08)
1、新增 三个操作类.枚举安卓控件( ),取出模拟器屏幕上的全部安卓控件,返回 控件数量 与 枚举结果数组;
2、新增 三个操作类.寻找安卓控件(),按条件对模拟器屏幕上的控件进行查找,返回匹配的数量与控件信息;
3、新增 雷神_取运行中模拟器目录(),获取当前运行中的模拟器目录;
4、优化 雷神_取安装目录( ),当进行自动获取时,会先获取运行中模拟器目录,然后才依次获取各版本目录。


雷神_模拟器操作模块 v1.0.1.5 (2021-10-18)
1、新增 三个操作类.查看系统属性() 查看系统设置。
2、新增 三个操作类.设置系统属性() 修改系统设置。注意,修改系统属性有一定风险,设置错误可能导致模拟器出现异常问题。
3、新增 三个操作类.删除系统属性() 删除系统设置。注意,修改系统属性有一定风险,设置错误可能导致模拟器出现异常问题。
4、新增 三个操作类.取WIFI名称() 取出模拟器中的WIFI连接的的SSID。
5、新增 三个操作类.设置代理() 设置模拟器的wifi代理。设置完成后,可以用“取当前代理()”查看结果。
6、新增 三个操作类.移除代理() 删除模拟器的wifi代理设置。注意:移除代理后要重启模拟器才能生效。
7、新增 三个操作类.取当前代理() 取出当前代理IP信息。
8、新增 三个操作类.设置代理1() 另一种设置代理的方式,此命令需要额外安装apk,具体用法查看命令备注。
9、新增 三个操作类.移除代理1() 移除模拟器的wifi代理。


雷神_模拟器操作模块 v1.0.1.3 (2021-10-11)
1、修复 sconsole.启动模拟器() 当超时时间参数为空时,雷神模拟器不会立即返回的问题。
2、修复 类:雷神ls操作 雷神有时候会错误的执行雷电的“ld.exe”的问题。


雷神_模拟器操作模块 v1.0.1.2 (2021-09-16)

1、新增 置DOS全局超时() 设置模块中所有DOS命令的默认超时时间,如果“取DOS返回()”中的“超时时间”参数留空时,则会以此时间作为默认值。
2、修复 lsconsole.启动模拟器() 部分模拟器版本使用,始终立即返回(异步模式)“假”的问题;


雷神_模拟器操作模块 v1.0.1.1 (2021-08-02)
1、新增 三个操作类.录制视频() 录制一段模拟器屏幕视频;
2、修复 取DOS返回() 当提供了“超时时间”,现在会自动结束超时的进程。例如:出现多个adb.exe超时进程;
3、优化 取DOS返回_字节集() 增加参数“是否宽字节”,是否为UNICODE宽字节。


雷神_模拟器操作模块 v1.0.1.0 (2021-05-17)

1、优化 三个操作类.取网页源码() 增加可选参数[超时]单位:秒 默认为15秒;-1为无限等待。
2、修复 三个操作类.取外网IP 因上一版本中编码处理方式改动,所在省市返回为乱码的问题。
3、修复 adb.重启adb服务() 可能出现线程阻塞无法返回的问题。
4、修复 lsconsole.取模拟器信息() 当模拟器标题文本中存在","时,无法正确获取到信息的问题。


雷神_模拟器操作模块 v1.0.0.9 (2021-05-06)
1、调整 lsconsole.备份模拟器() 移除参数"超时时间";增加参数"是否压缩[逻辑型]",为真时,备份文件会以zip格式进行压缩。留空则不压缩。新参数需要雷神1.0.9以上版本支持。
2、优化 adb.重启adb服务() 优化了结束冲突端口部分代码。
3、优化 adb.取连接端口() 优化了查询端口的算法,并增加参数“不使用缓存[逻辑型”,用于某些特殊场景,需要重新获取端口时使用。
4、优化 三个操作类.取网页源码() 支持更多可选参数,详情请参阅命令备注。移除自动转码功能,有需要的话,请自行转码。
5、新增 adb.置连接端口() 某些特殊情况下,无法自动获取连接端口时,可以手动设定连接端口。

6、修复 三个操作类.取屏幕控件() 连续获取时,返回的内容有可能依然是上一次内容的问题。
7、修复 adb.截屏_字节集() 修复了雷电3.0版本无法成功截屏的问题。


雷神_模拟器操作模块 v1.0.0.8 (2021-04-14)
1、修复 雷神adb操作 重启模拟器后,可能导致获取端口号错误的问题。
2、优化 lsconsole.取全部模拟器EX() 文本处理改为正则方式,当模拟器数量较多时,效率大幅提升。
3、新增 三个操作类.清空通讯录() 清空模拟器中的通讯录。
4、新增 三个操作类.导入通讯录() 将通讯录vcf文件导入到模拟器中。
5、新增 三个操作类.枚举输入法() 枚举出模拟器中全部输入法。
6、新增 三个操作类.取当前输入法() 获取当前输入法。
7、新增 三个操作类.置当前输入法() 将指定的输入法设置为当前输入法。

雷神_模拟器操作模块 v1.0.0.7 (2021-03-27)
1、优化 lsconsole与adb类.上传文件() 因目录名不规范而导致上传失败的问题。
2、优化 lsconsole与adb类.下传文件() 当下传目标为包含目录,且包含子目录时,下载失败的问题。
3、优化 三个操作类.取文件权限() 优化内部逻辑。现在可以同时取出“文件所有者”,“文件用户组”。
4、优化 三个操作类.置文件权限() 现在可以同时设置“文件所有者”,“文件用户组”。


雷神_模拟器操作模块 v1.0.0.6 (2021-03-21)
1、优化 三个操作类的基础运行模式 现在模块不会再修改代码中的当前目录。
2、修复 三个操作类.枚举目录文件() 雷电3.0无法正常枚举的问题;文件名尾部多出一个不可见字符的问题。


雷神_模拟器操作模块 v1.0.0.5 (2021-03-04)

1、新增 lsconsole.取模拟器信息EX2() 根据索引取出模拟器信息,成功返回真,失败返回假。模拟器数量较多时,推荐使用。
2、新增 lsconsole.取模拟器数量() 返回模拟器总数。
3、优化 lsconsole.启动模拟器() 现在会直到模拟器启动完毕后(成功进入安卓),才返回结果。并增加一个 超时时间 参数。
4、新增 adb.启动自定义服务() 启动各种自定义服务,例如Cheat Engine的ce_server、IDA的android_server等等。
5、移除 adb.启动CE服务端() 可用“adb.启动自定义服务()”替代。


雷神_模拟器操作模块 v1.0.0.4 (2021-03-01)
1、新增 三个操作类.查看内存映射() 查看指定进程的虚拟地址空间是如何使用的。
2、优化 雷神_取APK信息() 当APK为多语言应用时,优先获取中文“应用名称”。现在可以获取到APK的版本信息了。
3、修复 三个操作类.查看文件内容() 返回内容将不再进行自动转换编码,以便于更好的判断是否在写入时需要转码。如果遇到中文乱码,请自行转码。

雷神_模拟器操作模块 v1.0.0.3 (2021-02-22)
1、新增 雷神_取APK信息() 获取电脑中APK文件的详细信息(应用名称,包名,类名)。
2、新增 地图_百度转火星1() 调用网络API进行坐标系转换。
3、新增 地图_国际转火星1() 调用网络API进行坐标系转换。
4、新增 地图_地点搜索() 在指定的范围内进行地点搜索,范围可以为城市、经纬度、指定矩形。
5、新增 adb.启动CE服务端() 用于Cheat Engine通过网络连接到模拟器。
6、修复 ls.取外网IP() 部分接口返回的城市信息为问号的问题。
7、修复 ls.枚举目录文件() 当目录、文件名为中文时,返回为问号的问题。

雷神_模拟器操作模块 v1.0.0.2 (2021-02-05)
1、兼容 雷神_取安装目录() 支持雷神模拟器64位版本
2、新增 雷神_启动模拟器() 启动模拟器的另一种方式。

评论(32)
  • jihongwdlp

    2021-01-12

    谢谢大佬 分享,一直在用你的雷电模块,很给力,很方便,辛苦了

    点赞(0) 回复
    • 举报
  • 余生工作室 15159171559

    2021-01-23

    方便加个联系方式吗?我工作室经常需要雷电的辅助脚本,希望有合作的机会 

    点赞(0) 回复
    • 举报
  • 雷神降临

    2021-02-19

    模块很全面很用心,希望加一个根据IP地址设置GPS定位

    • 你可以通过 地图_位置到经纬度() 或者 地图_地点搜索() 来取得需要的经纬度,然后再设置到模拟器中去。
      至于IP定位,网上也有很多接口,目前都不太准确,自行调用就好。
      2021-02-22 回复
    点赞(0) 回复
    • 举报
  • i3wu4bogmh3

    2021-03-10

    这种思路确实很牛逼,也很需要,感谢止水,感谢开源!

    点赞(0) 回复
    • 举报
  • qtotqdn1g9b

    2021-03-29

    这个怎么用呢  我是小白

    点赞(0) 回复
    • 举报
  • ld8029867448

    2021-05-19

    上传文件,无法使用 提示 设备脱机。adb操作不稳定,雷神lsconsole操作提示无法使用 提示 设备脱机

    点赞(0) 回复
    • 举报
  • v66fu4rb98f

    2021-05-21

    雷神_设置窗口位置和尺寸()这个命令怎么没效果

    点赞(0) 回复
    • 举报
  • smart_cattt

    2021-06-09

    v1.0.1.0 命令中的 取全部模拟器 少参数 无法正常运行

    • 取全部模拟器的命令是错误了,返回的是所有文本,我后面用分割文本
      2021-08-28 回复
    点赞(0) 回复
    • 举报
  • ld8038131043

    2021-06-10

    止水大佬,浏览网页命令 网址中有中括号[ ]就不行了,要怎么转义?

    点赞(0) 回复
    • 举报
  • 9dbnwp70ude

    2021-06-26

    新建模拟器命令 实际是成功了,但是返回值是-1是什么情况的?

    点赞(0) 回复
    • 举报