M8Test Help

目录结构

项目目录中必须包含某些文件/文件夹(基础 )以及一些可选的文件/文件夹(高级)。

基础

settings.config.yaml

language: name: "Kotlin" url: "https://github.com/m8test/language-release/releases/download/kotlin-0.1.0/com.m8test.kotlin-release_0.1.0.apk" version: "0.1.0"
language: name: "Groovy" url: "https://github.com/m8test/language-release/releases/download/groovy-0.1.0/com.m8test.groovy-release_0.1.0.apk" version: "0.1.0"
language: name: "Javascript" url: "https://github.com/m8test/language-release/releases/download/javascript-0.1.0/com.m8test.javascript.v8-release_0.1.0.apk" version: "0.1.0"
language: name: "Lua" url: "https://github.com/m8test/language-release/releases/download/lua-0.1.0/com.m8test.lua-release_0.1.0.apk" version: "0.1.0"
language: name: "Php" url: "https://github.com/m8test/language-release/releases/download/php-0.1.0/com.m8test.php-release_0.1.0.apk" version: "0.1.0"
language: name: "Python" url: "https://github.com/m8test/language-release/releases/download/python-0.1.0/com.m8test.python-release_0.1.0.apk" version: "0.1.0"
language: name: "Ruby" url: "https://github.com/m8test/language-release/releases/download/ruby-0.1.0/com.m8test.ruby-release_0.1.0.apk" version: "0.1.0"

此文件会生成一个 SettingsConfig 对象。

settings

构建必需的脚本文件,可通过 Settings 设置构建包含的项目,其脚本语言及文件名可通过同目录下 settings.config.yaml 文件指定。

默认情况下,每种语言对应的文件扩展名不同,语言与扩展名的对应关系如下:

  • Kotlin 扩展名为 kts ,完整文件名为 settings.kts

  • Groovy 扩展名为 groovy ,完整文件名为 settings.groovy

  • Lua 扩展名为 lua ,完整文件名为 settings.lua

  • Python 扩展名为 py ,完整文件名为 settings.py

  • JavaScript 扩展名为 js ,完整文件名为 settings.js

  • Ruby 扩展名为 rb ,完整文件名为 settings.rb

  • PHP 扩展名为 php ,完整文件名为 settings.php

build

用于构建项目的脚本文件。

默认情况下,每种语言对应的文件扩展名不同,语言与扩展名的对应关系如下:

  • Kotlin 扩展名为 kts ,完整文件名为 build.kts

  • Groovy 扩展名为 groovy ,完整文件名为 build.groovy

  • Lua 扩展名为 lua ,完整文件名为 build.lua

  • Python 扩展名为 py ,完整文件名为 build.py

  • JavaScript 扩展名为 js ,完整文件名为 build.js

  • Ruby 扩展名为 rb ,完整文件名为 build.rb

  • PHP 扩展名为 php ,完整文件名为 build.php

src/

存放项目源代码的文件夹,项目的入口脚本文件必须放在此文件夹中。

res/

存放项目所用资源的文件夹。

高级

lib/

存放库文件的文件夹,可供 srcinit 中的代码使用。

init/

存放初始化脚本的文件夹,该文件夹中的所有脚本文件都会在 src 中的主脚本执行前运行。

plugin/

存放插件的文件夹,通常为 jar、dex、so 及 apk 文件,需在脚本中手动加载。以下情况可使用插件:

  • 尽管脚本语言可操作 JVM 大部分内容,但部分功能仍需通过 Java 代码实现

  • 复用已通过 Java 实现特定功能的库

init.settings

用于初始化构建的脚本文件,在 settings 脚本文件前运行,通常用于为其指定所需插件,其脚本语言及文件名可通过同目录下 settings.config.yaml 文件指定。

默认情况下,每种语言对应的文件扩展名不同,语言与扩展名的对应关系如下:

  • Kotlin 扩展名为 kts ,完整文件名为 init.settings.kts

  • Groovy 扩展名为 groovy ,完整文件名为 init.settings.groovy

  • Lua 扩展名为 lua ,完整文件名为 init.settings.lua

  • Python 扩展名为 py ,完整文件名为 init.settings.py

  • JavaScript 扩展名为 js ,完整文件名为 init.settings.js

  • Ruby 扩展名为 rb ,完整文件名为 init.settings.rb

  • PHP 扩展名为 php ,完整文件名为 init.settings.php

init.build

用于初始化构建的脚本文件,在 build 脚本文件前运行,通常用于为其指定所需插件。

默认情况下,每种语言对应的文件扩展名不同,语言与扩展名的对应关系如下:

  • Kotlin 扩展名为 kts ,完整文件名为 init.build.kts

  • Groovy 扩展名为 groovy ,完整文件名为 init.build.groovy

  • Lua 扩展名为 lua ,完整文件名为 init.build.lua

  • Python 扩展名为 py ,完整文件名为 init.build.py

  • JavaScript 扩展名为 js ,完整文件名为 init.build.js

  • Ruby 扩展名为 rb ,完整文件名为 init.build.rb

  • PHP 扩展名为 php ,完整文件名为 init.build.php

09 December 2025