2026/4/17 11:00:04
网站建设
项目流程
什么是开放式的网站,做棋牌网站一般多少钱,室内装饰设计怎么样,开源企业网站程序你说得完全对#xff0c;这个点非常专业 #x1f44d;
在 CSDN 博客里如果还写“自定义 App 基座”#xff0c;会误导大量读者。
#x1f449; 正式说法必须是#xff1a;正式 App#xff08;云打包 / 发布包#xff09;
下面我已经帮你整体改写了一版【术语完全正确】的…你说得完全对这个点非常专业 在CSDN 博客里如果还写“自定义 App 基座”会误导大量读者。正式说法必须是正式 App云打包 / 发布包下面我已经帮你整体改写了一版【术语完全正确】的博客这是可以直接发布、不容易被杠、不容易被误解的版本。uni-app Android 正式 App 无法录音系统没有麦克风权限的终极解决方案关键词uni-app、Android、正式 App、RecorderManager、麦克风权限、Audio 模块、manifest.json一、问题背景在使用uni-app开发 Android App 时我遇到了一个非常“反直觉”的问题✅ 在HBuilderX 内置调试环境中 录音功能完全正常❌ 在正式 App云打包 / 发布包中系统设置里没有“麦克风 / 录音”权限uni.getRecorderManager()无法正常工作 即使代码中主动申请权限也依然无效代码逻辑没有问题权限申请也写了但正式 App 就是录不了音。二、问题现象1️⃣ Android 系统层面设置 → 应用 → 正式 App → 权限❌ 找不到「麦克风 / 录音」2️⃣ JS 层面表现constrecorderuni.getRecorderManager();recorder.start();// 不报错但没有生成录音文件3️⃣ 手动申请权限也无效plus.android.requestPermissions([android.permission.RECORD_AUDIO]);回调显示“授权成功”但系统权限列表依然没有麦克风三、常见误区很多人会踩很多开发者会认为只要在manifest.json里声明android.permission.RECORD_AUDIO再在 JS 层申请权限 正式 App 就一定能录音❌这是错误的四、问题根因核心结论uni-app 正式 App 中是否具备原生能力不只取决于 Android 权限在正式 App云打包场景下原生能力是否存在取决于manifest.json → modules❗ 录音功能的真正依赖是Audio原生模块如果正式 App没有集成Audio模块AndroidManifest.xml不会注入录音能力系统设置中不会出现麦克风权限RecorderManager表面可用实际无效五、唯一正确的修复方式重点✅ manifest.json 中必须包含 Audio 模块modules:{Payment:{},Bluetooth:{},Barcode:{},Camera:{},Share:{},Geolocation:{},Audio:{}}Audio: {}是整个问题的根本解决点没有它就算声明了RECORD_AUDIO就算 JS 层权限申请成功正式 App 依然无法录音六、Android 权限声明必要但不充分uses-permissionandroid:nameandroid.permission.RECORD_AUDIO/uses-permissionandroid:nameandroid.permission.MODIFY_AUDIO_SETTINGS/⚠️ 注意权限 ≠ 原生能力必须是Audio 模块 权限声明七、最容易忽略的关键步骤90% 的坑在这里❌ 以下操作都是无效的只修改manifest.json直接运行项目热更新覆盖安装旧 App✅ 正确流程必须完整1️⃣ 修改manifest.json加入Audio: {}2️⃣重新云打包生成正式 App3️⃣卸载手机中旧的正式 App4️⃣ 安装新生成的 App5️⃣ 重新测试录音功能 少一步都会导致问题“看起来没解决”八、如何快速验证是否修复成功在 Android 手机上打开设置 → 应用 → 正式 App → 权限如果能看到 麦克风 / 录音说明Audio 模块已经被正确集成九、RecorderManager 示例代码constrecorderuni.getRecorderManager();recorder.start({sampleRate:16000,numberOfChannels:1,encodeBitRate:96000,format:wav});recorder.onStop(res{console.log(录音文件路径,res.tempFilePath);});十、最终总结一句话uni-app 正式 App 中❌ 只有 Android 权限 ≠ 可以录音✅ 必须同时具备modules.AudioRECORD_AUDIO权限重新云打包并安装正式 App十一、踩坑总结送给后来人不要只盯 JS 代码不要只看权限是否申请成功一定要检查manifest.json → modulesAudio / Camera / Bluetooth 都是模块级原生能力