# 开发环境搭建
本文档将指导您从零开始搭建 MT 插件开发环境,并创建第一个插件项目。
# 前置要求
在开始之前,请确保您的开发环境满足以下要求:
# Android Studio
推荐使用最新稳定版本的 Android Studio。
- 下载地址:https://developer.android.com/studio
- 推荐版本:Android Studio Hedgehog (2023.1.1) 或更高版本
# MT 管理器
需要在设备上安装 MT 管理器来测试插件。
# 创建项目
克隆官方 Demo 项目是最快速的入门方式,项目已配置好所有必要的依赖和设置。
git clone https://gitee.com/L-JINBIN/mt-plugin-v3-demo.git
cd mt-plugin-v3-demo
克隆完成后,使用 Android Studio 打开项目即可开始开发。
# 项目模块说明
本项目包含两个模块:demo 和 template
# demo 模块
- 用途:学习参考、了解插件各个功能
- 内容:包含大量演示代码,展示各种插件功能的实现方式
- 翻译引擎(TranslationEngine、BatchTranslationEngine)
- 文本编辑器扩展(TextEditorFunction、TextEditorFloatingMenu、TextEditorToolMenu)
- UI 组件、对话框、弹出菜单等完整示例
- 使用方式:可直接运行该模块来查看功能演示和测试插件
# template 模块
- 用途:开发自己的插件
- 内容:包含最基础的代码模版
- 最小化的项目结构
- 基本的设置界面示例(MyPreference.java)
- 完整的项目配置文件
- 使用方式:推荐基于此模块进行开发,根据需要添加功能
# 如何开始
- 学习插件开发:运行 demo 模块,查看各种功能的实现方式
- 开发自己的插件:基于 template 模块进行开发
# 项目配置
克隆的项目已经配置好所有必要的依赖和设置,您可以直接使用。以下是关键配置文件的说明。
# 配置文件说明
# settings.gradle
Maven 仓库配置,已添加 maven.mt2.cn 仓库用于下载 MT 插件依赖。
重要:必须在
pluginManagement和dependencyResolutionManagement两个位置都添加maven.mt2.cn仓库。
# gradle/libs.versions.toml
版本依赖配置,包含 MT 插件版本(如 1.0.0-alpha7)。
# build.gradle(模块级别)
每个模块的 build.gradle 文件包含以下关键配置:
应用插件:
android-application:Android 应用插件mt-plugin:MT 插件构建插件kotlin-android:Kotlin 插件(如果使用 Kotlin)
Android 配置:
minSdk: 21:必须,MT 插件最低支持 Android 5.0
mtPlugin 配置块:
mtPlugin {
pluginID = "com.example.myplugin" // 插件唯一标识
versionCode = 1 // 插件版本号
versionName = "v1.0" // 插件版本名称
name = "{plugin_name}" // 插件名称(支持本地化)
description = "{plugin_description}" // 插件描述(支持本地化)
mainPreference = "..." // 主设置界面(可选)
interfaces = [...] // 插件对外接口列表
pushTarget = "auto" // 推送目标
}
# proguard-rules.pro
混淆规则配置,如果开启了 minifyEnabled,需要保留插件接口实现类:
# 保留插件接口实现类
-keep class * extends bin.mt.plugin.api.** { <init>(...); }
-keep class * implements bin.mt.plugin.api.** { <init>(...); }
# 接口配置说明
在 mtPlugin {} 配置块中,有两个重要的配置项用于指定插件的接口。
# mainPreference
mainPreference 指定主设置界面类的完整路径(包名 + 类名)。
- 可选配置:如果插件不需要设置界面可以不配置
- 用户入口:用户在插件管理界面查看插件信息时,可点击设置按钮打开主设置界面
- 完整路径:必须是实现了
PluginPreference接口的类的完整路径
示例:
mtPlugin {
mainPreference = "com.example.myplugin.settings.MainSettings"
}
# interfaces
interfaces 列出所有对外接口类的完整路径。
- 必须配置:所有实现的插件接口都必须在此列表中注册
- 自动识别:接口类型会自动识别,无需手动指定类型
- 完整路径:每个接口类必须使用完整路径(包名 + 类名)
支持的接口类型:
| 接口类型 | 说明 |
|---|---|
TranslationEngine | 翻译引擎 |
BatchTranslationEngine | 批量翻译引擎 |
TextEditorFunction | 文本编辑器功能 |
TextEditorFloatingMenu | 文本编辑器浮动菜单 |
TextEditorToolMenu | 文本编辑器工具菜单 |
示例:
mtPlugin {
interfaces = [
"com.example.myplugin.GoogleTranslator", // TranslationEngine
"com.example.myplugin.BatchTranslator", // BatchTranslationEngine
"com.example.myplugin.FormatCode", // TextEditorFunction
"com.example.myplugin.QuickActions", // TextEditorFloatingMenu
]
}
注意:如果接口未在此配置,MT 管理器将无法识别该接口,插件功能将不会生效。
# 运行和调试
# 安装插件到设备
# 通过 Android Studio 运行
- 确保测试设备已连接并启用 USB 调试
- 确保设备上已安装 MT 管理器
- 在 Android Studio 中选择要运行的模块(demo 或 template)
- 点击 Run 按钮(或选择 Run → Run 'demo' 或 Run → Run 'template')
- 等待 APK 安装完成,会有一个名为
MT Plugin Pusher的应用程序被安装到设备上并自动启动 MT Plugin Pusher启动后会打开 MT 管理器的插件安装界面- 点击 安装 按钮完成插件安装
注意:该方式仅供自己测试使用,生成的 mtp 文件被标记为 testOnly,无法复制到其它设备安装。
# 仅打包插件
如果需要打包可分享的插件安装包:
- 打开 Gradle 面板(一般在 Android Studio 右上角的侧栏)
- 展开对应模块 demo(或 template) → Tasks → mt-plugin
- 双击运行 packageReleaseMtp 任务
- 任务运行成功后可以在模块的
build/outputs/mt-plugin目录找到打包好的 mtp 插件安装包
通过命令行打包:
# 打包 demo 模块
./gradlew demo:packageReleaseMtp
# 打包 template 模块
./gradlew template:packageReleaseMtp
# 快速体验
# 运行 demo 模块
demo 模块包含了完整的功能演示,运行后可以查看各种插件功能的实际效果:
- 在 Android Studio 中运行 demo 模块
- 安装插件后,进入 MT 管理器 → 侧边栏 → 工具 → 插件管理 → MT演示插件
- 点击 设置 查看 UI 组件、对话框、弹出菜单的演示
- 在 文本编辑器 中测试快捷功能、浮动菜单、工具菜单等扩展
- 在 翻译模式 中查看翻译引擎的使用
# 基于 template 模块开发
template 模块提供了最基础的代码模版,适合快速开始自己的插件开发:
- 查看现有代码:打开
template/src/main/java/com/example/myplugin/MyPreference.java,这是一个简单的设置界面示例 - 修改配置:编辑
template/build.gradle中的mtPlugin {}配置块,设置您的插件信息 - 运行测试:运行 template 模块,验证插件安装成功
- 添加功能:根据需要实现翻译引擎或文本编辑器扩展等功能
# template 模块说明
template 模块已包含:
- 基本的项目结构和配置文件
- 简单的设置界面示例
MyPreference.java - 语言包文件
assets/strings.mtl和assets/strings-zh-CN.mtl
您可以直接在此基础上添加自己的功能,或参考 demo 模块中的示例代码。
# 下一步
环境搭建完成后,建议您按以下顺序学习:
核心概念
UI 系统
设置界面接口
翻译引擎接口
文本编辑器接口
工具类
# 相关资源
- 官方 Demo 项目:https://gitee.com/L-JINBIN/mt-plugin-v3-demo (opens new window)
- Maven 仓库:https://maven.mt2.cn (opens new window)
- 官方论坛:https://bbs.binmt.cc (opens new window)
如有问题,欢迎在官方论坛讨论交流。
← 插件介绍 API - 插件上下文 →