integrateUniAppNativePlugin
集成UniApp原生插件到Android项目,自动配置相关文件和依赖。
前置依赖
依赖参数
| 参数名 | 类型 | 说明 |
|---|---|---|
deps.existsSync | FileSystem['existsSync'] | 检查文件是否存在 |
deps.readFileSync | FileSystem['readFileSync'] | 读取文件内容 |
deps.writeFileSync | FileSystem['writeFileSync'] | 写入文件内容 |
deps.copyFileSync | FileSystem['copyFileSync'] | 复制文件 |
deps.mkdirSync | FileSystem['mkdirSync'] | 创建目录 |
deps.readdirSync | FileSystem['readdirSync'] | 读取目录内容 |
deps.statSync | FileSystem['statSync'] | 获取文件状态 |
deps.join | Path['join'] | 路径拼接 |
deps.dirname | Path['dirname'] | 获取目录名 |
deps.xmlParser | XMLParserConstructor | XML 解析器构造函数 |
deps.xmlSerializer | XMLSerializerConstructor | XML 序列化器构造函数 |
deps.xpath | XPath | XPath 查询库 |
环境要求
- @xmldom/xmldom: XML DOM 解析库
- xpath: XPath 查询库
bash
npm install @xmldom/xmldom xpath函数签名
typescript
function integrateUniAppNativePlugin(
projectPath: string,
moduleDir: string,
packageName: string,
pluginPath: string,
deps: IntegrateUniAppNativePluginDeps
): Promise<{ success: boolean; message?: string; error?: string; logs: string[] }>参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
projectPath | string | 是 | Android项目路径 |
moduleDir | string | 是 | 模块目录(如 'app' 或 'HBuilder-uniPlugin') |
packageName | string | 是 | 应用包名 |
pluginPath | string | 是 | 原生插件路径 |
deps | IntegrateUniAppNativePluginDeps | 是 | 依赖注入对象 |
返回值
| 类型 | 说明 |
|---|---|
Promise<{ success: boolean; message?: string; error?: string; logs: string[] }> | Promise,解析为集成结果对象 |
工作原理
- 解析插件配置:读取
dcloud_uniplugins.json配置文件 - 拷贝插件文件:将插件文件拷贝到Android项目
- 添加Gradle依赖:根据插件配置添加依赖
- 修改清单文件:更新 AndroidManifest.xml
- 配置dcloud_properties.xml:添加插件功能配置
自动处理UniApp原生插件的完整集成流程,适用于各种类型的原生插件。