1***@qq.com
1***@qq.com
  • 发布:2026-04-12 17:13
  • 更新:2026-04-12 17:13
  • 阅读:15

微信商家转账uts插件[uni-requestMerchantTransfer]编译失败

分类:uni-app x

17:06:20.641 uni_module [uni-requestMerchantTransfer] 正在更新三方依赖...
17:06:26.047 uni_module [uni-requestMerchantTransfer]
17:06:26.047 FAILURE: Build failed with an exception.
17:06:26.047 What went wrong:
17:06:26.047 Configuring project ':app' without an existing directory is not allowed. The configured projectDirectory 'C:\Users\Administrator\AppData\Roaming\HBuilder X.uts-development-android\gradle\uni-requestMerchantTransfer_1775984780623\app' does not exist, can't be written to or is not a directory.
17:06:26.047
Try:
17:06:26.047 > Make sure the project directory exists and is writable.
17:06:26.047 > For more information, see https://docs.gradle.org/9.4.1/userguide/multi_project_builds.html#include_existing_projects_only
17:06:26.047 > Run with --scan to get full insights from a Build Scan (powered by Develocity).
17:06:26.047 BUILD FAILED in 4s
17:06:28.757 uts插件[uni-requestMerchantTransfer]编译失败
17:06:28.784 ‌error: 找不到名称“tencent”。参考: https://doc.dcloud.net.cn/uni-app-x/uts/compiler-known-issues.html#error18‌
17:06:28.784 at uni_modules/uni-requestMerchantTransfer/utssdk/app-android/index.uts:7:18
17:06:28.784 5 | import StandardCharsets from 'java.nio.charset.StandardCharsets'
17:06:28.784 6 | import WXOpenBusinessView from 'com.tencent.mm.opensdk.modelbiz.WXOpenBusinessView'
17:06:28.784 7 | import Build from 'com.tencent.mm.opensdk.constants.Build'
17:06:28.784 | ^
17:06:28.784 8 | export const requestMerchantTransfer : RequestMerchantTransfer = function (options : RequestMerchantTransferOptions) {
17:06:28.784 9 | var appId = options.appId⁠
17:06:28.784 ‌error: 找不到名称“tencent”。参考: https://doc.dcloud.net.cn/uni-app-x/uts/compiler-known-issues.html#error18‌
17:06:28.784 at uni_modules/uni-requestMerchantTransfer/utssdk/app-android/index.uts:6:31
17:06:28.784 4 | import URLEncoder from 'java.net.URLEncoder'
17:06:28.784 5 | import StandardCharsets from 'java.nio.charset.StandardCharsets'
17:06:28.784 6 | import WXOpenBusinessView from 'com.tencent.mm.opensdk.modelbiz.WXOpenBusinessView'
17:06:28.784 | ^
17:06:28.784 7 | import Build from 'com.tencent.mm.opensdk.constants.Build'
17:06:28.784 8 | export const requestMerchantTransfer : RequestMerchantTransfer = function (options : RequestMerchantTransferOptions) {⁠
17:06:28.784 ‌error: 找不到名称“tencent”。参考: https://doc.dcloud.net.cn/uni-app-x/uts/compiler-known-issues.html#error18‌
17:06:28.784 at uni_modules/uni-requestMerchantTransfer/utssdk/app-android/index.uts:3:25
17:06:28.784 1 |
17:06:28.784 2 | import { RequestMerchantTransfer, RequestMerchantTransferOptions, RequestMerchantTransferGeneralCallbackResult } from '../interface.uts';
17:06:28.784 3 | import WXAPIFactory from 'com.tencent.mm.opensdk.openapi.WXAPIFactory'
17:06:28.784 | ^
17:06:28.784 4 | import URLEncoder from 'java.net.URLEncoder'
17:06:28.784 5 | import StandardCharsets from 'java.nio.charset.StandardCharsets'⁠
17:06:28.784 ‌error: 找不到名称“WXAPIFactory”。参考: https://doc.dcloud.net.cn/uni-app-x/uts/compiler-known-issues.html#error18‌
17:06:28.784 at uni_modules/uni-requestMerchantTransfer/utssdk/app-android/index.uts:10:11
17:06:28.784 8 | export const requestMerchantTransfer : RequestMerchantTransfer = function (options : RequestMerchantTransferOptions) {
17:06:28.784 9 | var appId = options.appId
17:06:28.784 10 | var api = WXAPIFactory.createWXAPI(UTSAndroid.getAppContext(), appId, false)
17:06:28.784 | ^
17:06:28.784 11 | var wxSdkVersion = api.wxAppSupportAPI
17:06:28.784 12 | if (wxSdkVersion >= Build.OPEN_BUSINESS_VIEW_SDK_INT) {⁠
17:06:28.784 ‌error: 找不到名称“Build”。参考: https://doc.dcloud.net.cn/uni-app-x/uts/compiler-known-issues.html#error18‌
17:06:28.784 at uni_modules/uni-requestMerchantTransfer/utssdk/app-android/index.uts:12:21

2026-04-12 17:13 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app x技术交流群 ) 咨询,群中有相关专业的管理员和群友。

根据知识库中的信息,您遇到的编译失败问题是因为 uni-requestMerchantTransfer 插件依赖了微信第三方 SDK,但本地编译环境缺少相关依赖配置。

问题原因:
该插件依赖微信 Open SDK(com.tencent.mm.opensdk),属于包含三方依赖的 UTS 插件。根据 UTS 编译器已知问题文档,当插件依赖第三方库时,会出现 找不到名称"tencent" 等错误,这是因为编译前需要在 HBuilderX 中配置运行环境。

解决方案:

方案一:提交云端打包(推荐)
根据 插件市场说明,该插件需要提交云打包生成自定义基座生效

  1. 在 HBuilderX 中点击"运行" -> "运行到手机或模拟器" -> "制作自定义基座"
  2. 或点击"发行" -> "原生APP-云打包",生成自定义基座后运行

方案二:配置本地 Android 运行环境
如需本地编译,请参考 Android UTS 开发环境配置

  1. 在 HBuilderX【设置-运行配置】中配置 Android 运行环境
  2. 确保本地 Gradle 缓存目录可写(清理 C:\Users\Administrator\AppData\Roaming\HBuilder X\.uts-development-android 目录后重试)

使用示例:

import { requestMerchantTransfer } from "@/uni_modules/uni-requestMerchantTransfer"  

requestMerchantTransfer({  
  mchId: "商户号",  
  appId: "微信开发者平台对应app的APPID",  
  package: "package",  
  success: (res) => {  
    console.log(res)  
  },  
  fail: (res) => {  
    console.log(res.errMsg)  
  }  
})

本助手使用国产模型,生成代码准确率较低。强烈建议使用uni-agent生成代码

注意事项:

  • Android 平台需要申请微信商家转账权限并在微信开放平台配置应用
  • iOS 平台需在 Info.plist 中配置微信 appiduniversalLink,详情参考 iOS 配置文档
内容为 AI 生成,仅供参考

要回复问题请先登录注册