Skip to content

integrateUniAppNativePlugin

集成UniApp原生插件到Android项目,自动配置相关文件和依赖。

前置依赖

依赖参数

参数名类型说明
deps.existsSyncFileSystem['existsSync']检查文件是否存在
deps.readFileSyncFileSystem['readFileSync']读取文件内容
deps.writeFileSyncFileSystem['writeFileSync']写入文件内容
deps.copyFileSyncFileSystem['copyFileSync']复制文件
deps.mkdirSyncFileSystem['mkdirSync']创建目录
deps.readdirSyncFileSystem['readdirSync']读取目录内容
deps.statSyncFileSystem['statSync']获取文件状态
deps.joinPath['join']路径拼接
deps.dirnamePath['dirname']获取目录名
deps.xmlParserXMLParserConstructorXML 解析器构造函数
deps.xmlSerializerXMLSerializerConstructorXML 序列化器构造函数
deps.xpathXPathXPath 查询库

环境要求

  • @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[] }>

参数

参数名类型必填说明
projectPathstringAndroid项目路径
moduleDirstring模块目录(如 'app' 或 'HBuilder-uniPlugin')
packageNamestring应用包名
pluginPathstring原生插件路径
depsIntegrateUniAppNativePluginDeps依赖注入对象

返回值

类型说明
Promise<{ success: boolean; message?: string; error?: string; logs: string[] }>Promise,解析为集成结果对象

工作原理

  1. 解析插件配置:读取 dcloud_uniplugins.json 配置文件
  2. 拷贝插件文件:将插件文件拷贝到Android项目
  3. 添加Gradle依赖:根据插件配置添加依赖
  4. 修改清单文件:更新 AndroidManifest.xml
  5. 配置dcloud_properties.xml:添加插件功能配置

自动处理UniApp原生插件的完整集成流程,适用于各种类型的原生插件。