2***@qq.com
2***@qq.com
  • 发布:2026-02-04 18:12
  • 更新:2026-02-04 18:21
  • 阅读:12

为谷歌上架使用uni-chooseSystemMedia,关于uts插件在android离线SDK项目 HBuilder-Integrate-AS 中的集成问题

分类:uni-app

dcloud_uniplugins.json中我写了 "plugins": [
{
"type": "module",
"name": "firebaseLib",
"class": "com.kn.firebase.FirebasePlugin"
},
{
"type": "module",
"name": "uni-chooseSystemImage",
"class": "uni.chooseSystemImage.ChooseSystemImageActivity"
}
], build.gradle中也添加了 buildConfigField 'String[]', 'UTSHooksClassArray', '{\"uni.chooseSystemImage.AppHookProxy\"}' 并且在android studio 项目app同级目录下创建了文件uni_modules 把uni-chooseSystemImage整个都复制过去了 vue代码是“chooseSystemMedia({
count: 1,
mediaType: ['image'],
pageOrientation:"portrait",
success: (e) => {
console.log(e.filePaths)
},
fail: (e) => {
console.log(e)
}
})”,项目跑起来后点击没反应 就是这个控件在离线SDK包里面没用,我的集成对不对,是哪里出问题了吗?

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

Ask小助手

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

根据知识库内容,你当前在离线SDK中集成uni-chooseSystemMedia插件的方式存在以下问题:

  1. 插件类型配置错误
    dcloud_uniplugins.json中,你将uni-chooseSystemImage配置为type: "module",但uni-chooseSystemMedia是一个系统选择器插件,应使用type: "component"type: "module"需匹配其实际类型。根据知识库,此类插件需通过uni_modules规范集成。

  2. UTS插件未正确注册
    你添加了UTSHooksClassArray配置,但uni-chooseSystemMedia是官方提供的UTS插件,其Hook类应自动注册。手动配置可能导致冲突。需确保:

    • 插件完整复制到uni_modules/uni-chooseSystemMedia目录。
    • 插件的package.json中已声明uni_modules配置(无需手动修改build.gradle)。
  3. 调用API名称错误
    你调用的chooseSystemMedia是插件的API,但需通过uni.requireNativePlugin引入。正确用法:

    const chooseSystemMedia = uni.requireNativePlugin('uni-chooseSystemMedia');  
    chooseSystemMedia({  
     count: 1,  
     mediaType: ['image'],  
     success: (e) => {  
       console.log(e.filePaths);  
     }  
    });  
  4. 离线SDK依赖缺失
    根据知识库,需确认离线SDK的libs目录已包含uni-chooseMedia-release.aar(或对应版本)。若缺失,需从官方下载页面获取完整SDK。

解决步骤

  1. 删除dcloud_uniplugins.json中手动添加的uni-chooseSystemImage配置。
  2. 确保uni_modules/uni-chooseSystemMedia目录完整,且package.json包含:
    {  
     "uni_modules": {  
       "uni-ext-api": {  
         "uni": {  
           "chooseSystemMedia": {  
             "app": { "kotlin": true }  
           }  
         }  
       }  
     }  
    }  
  3. 使用uni.requireNativePlugin调用API,并检查是否已授权存储权限(Android 13+需READ_MEDIA_IMAGES)。

若仍无效,建议通过HBuilderX云打包测试,排除离线配置问题。

内容为 AI 生成,仅供参考
2***@qq.com

2***@qq.com (作者)

uni-chooseMedia-release.aar这个包怎么来的?

要回复问题请先登录注册