M8Test Help

使用 Gradle 项目模板

下载模板项目

打开 GitHub ,按照图中步骤依次操作,切换到所需开发语言对应的最新标签。

Kotlin 13
Groovy 13
Java 13
Javascript 13
Lua 13
Php 13
Python 13
Ruby 13

然后下载ZIP文件,将其解压到任意目录后,通过IDEA或VS Code打开即可。

Kotlin 14
Groovy 14
Java 14
Javascript 14
Lua 14
Php 14
Python 14
Ruby 14

然后通过以下步骤复制ZIP文件的下载链接

Kotlin 14
Groovy 14
Java 14
Javascript 14
Lua 14
Php 14
Python 14
Ruby 14

打开终端(可以是任何终端,例如下方的code-server终端),执行以下命令:

apt install wget unzip -y && wget https://github.com/m8test/gradle-templates/archive/refs/tags/Python-0.1.15.zip -O m8test-project.zip && unzip m8test-project.zip

命令执行完成后,运行 ls 命令查看文件,即可确认文件已成功解压

411

之后就可以通过code-server、VS Code或IDEA打开该项目了

412

配置 build.gradle.kts 文件

在模板项目中,与编程语言同名的文件夹内有一个 build.gradle.kts 文件,用于配置项目。

Kotlin 15
Groovy 15
Java 15
Javascript 15
Lua 15
Php 15
Python 15
Ruby 15

首先需要配置可执行文件路径

Kotlin 1
Groovy 1
Java 1
Javascript 1
Lua 1
Php 1
Python 1
Ruby 1

还需要修改调试设备信息,可通过 adbDeviceSerial 配置,或结合 deviceIpadbPort 配置。若配置了 adbDeviceSerial ,则 deviceIpadbPort 将被忽略。

256

修改入口文件、包名、logo 等。

257

如需增减项目中使用的组件,添加组件时,添加 requireComponent 代码块并修改组件信息;删除组件时,删除或注释对应的 requireComponent 代码块。

258

对于非 JVM 项目,还可配置为哪些 Java 类生成代码提示文件。生成过多提示文件可能影响性能,但若没有提示文件,将影响开发效率。可通过增减 filterClass 条件来控制生成范围。

259

生成代码提示文件

在 Gradle 面板中,找到 M8Test 相关任务,进入 m8test-code-completion 任务组。

  • 非 JVM 项目:

    • generateXXXAllCompletionCodeFiles (XXX 为语言名,如 Javascript、Lua、Php、Python)任务可一次性生成所有代码提示文件,包括 Android API、M8Test API、组件 API 和全局变量等。

    • 其他任务可分别生成不同类型的提示文件。

  • JVM 项目:

    • 由于可直接使用 JAR 提供代码提示,只需执行生成全局变量的任务(如 generateXXXGlobalVariables ,XXX 为语言名,如 Groovy、Java、Kotlin、Ruby)。

Kotlin 16
Groovy 16
Java 16
Javascript 16
Lua 16
Php 16
Python 16
Ruby 16

build.gradle.kts 文件中引用的组件发生变化(增加或减少),可能需要重新生成代码提示文件。

配置语言环境

非 JVM 项目推荐使用 vscode ,JVM 项目推荐使用 Idea ,这样可开箱即用。除 Ruby 语言外,均无需额外配置环境。以下介绍在 Idea 中配置 Ruby 环境的步骤:

Ruby 环境配置

若项目未配置 Ruby 解析器,会出现提示,此时点击 configure

262

依次点击 Project > Sdk 右边的输入框 > Add Sdk > JRuby Sdk

263

选择 interpreter

264

找到 jruby.exe 的路径后点击 Ok ,集成开发环境中的路径通常为 C:\Users\Your username\.m8test\bin\jruby\jruby.exe

265

成功添加 JRuby SDK 后,点击 apply

266

依次点击 Modules > ruby > main > Module Sdk 右边的输入框 > 选择 JRuby SDK。

267

点击 apply

268

点击添加按钮。

269

选择 JRuby

270

确认 JRuby 添加成功后,点击 apply > Ok

271

此时应不再显示需要配置 Ruby 解析器的提示。

272

若出现 require 提示 No such file to load

273

Project 视图中,右键点击 ruby/src/main/ruby 目录,选择 Mark Directory as > Load Path Root

274

稍等片刻, require 应恢复正常。

275

编写代码

  • JVM 项目:

    • 项目根目录/语言名/src/main/语言名 目录下编写脚本代码。

    • 项目根目录/语言名/src/main/resources 目录下存放资源文件(如图片)。

  • 非 JVM 项目:

    • 项目根目录/语言名/src 目录下编写脚本代码。

    • 项目根目录/语言名/res 目录下存放资源文件(如图片)。

Kotlin 17
Groovy 17
Java 17
Javascript 17
Lua 17
Php 17
Python 17
Ruby 17

测试脚本文件

由于 runXXX 任务会检查设备连接状态、组件安装情况及语言环境等,因此耗时较长;而测试脚本文件(testXXXFiles )任务不会执行这些检查步骤,所以运行速度很快。但如果未连接设备,测试任务会执行失败,因此在运行测试脚本文件任务前,需要先执行一次 runXXX 任务,以确保测试任务能顺利进行。 可以在 build.gradle.kts 文件中配置测试文件的路径,若运行测试脚本任务时该路径配置的文件不存在,将会报错。

Kotlin 4
Groovy 4
Java 4
Javascript 4
Lua 4
Php 4
Python 4
Ruby 4
Kotlin 12
Groovy 12
Java 12
Javascript 12
Lua 12
Php 12
Python 12
Ruby 12

运行/中断/打包项目

编写完代码并测试通过后,可通过运行 Gradle 任务执行相应操作。构建相关任务可在 m8test-build 任务组中查看。

Kotlin 18
Groovy 18
Java 18
Javascript 18
Lua 18
Php 18
Python 18
Ruby 18
  • runXXX :将 XXX 语言项目运行到安卓设备上。

  • interruptXXX :中断由 runXXX 任务运行的脚本。

  • buildXXXApk :将 XXX 语言项目打包成安卓 APK 文件。

连接日志服务

  • Idea 中,按快捷键 Alt + T ,依次选择 M8Test > 连接日志服务

  • vscode 中,按快捷键 Ctrl + Shift + P ,输入 M8Test ,选择 连接日志服务

Vscode 9
Idea 9

日志服务连接成功后,可将设备端日志同步到电脑端。

Last modified: 01 October 2025