uni-app怎么设置manifest.json中的多端适配规则

胖墨大大_1442

胖墨大大_1442

2026-08-21

230人浏览

原创

manifest.json需按平台分层配置,如app-plus、mp-weixin、h5等;权限须写在对应平台节点下且名称完整准确;api地址应通过自定义字段注入并配合构建脚本处理。

uni-app怎么设置manifest.json中的多端适配规则

manifest.json 里怎么写平台特有配置

manifest.json 不是扁平 JSON,而是按平台分层嵌套的结构。你不能把所有配置写在顶层,否则 Android/iOS/H5 会互相覆盖或被忽略。

必须把平台专属字段放在对应平台节点下:app-plus(App)、mp-weixin(微信小程序)、h5(H5)、mp-alipay(支付宝)等。这些字段名不能拼错,大小写敏感,比如 mp-weixin 写成 mp-weixin 是对的,但 mp-weChat 或 weixin 就无效。

  • app-plus 下的 distribute.android.packagename 和 distribute.ios.bundleidentifier 必须填写合法包名/Bundle ID,否则打包失败或安装后无法启动
  • h5 下的 router.mode 只影响 H5 路由行为,对 App 完全无作用;设成 "history" 时,base 字段必须同步配对,比如部署在 /admin/ 子路径,就得写 "base": "/admin/"
  • mp-weixin 的 appid 是微信后台申请的真实 ID,填错会导致真机调试白屏、上传失败

Android 和 iOS 权限声明为什么总不生效

权限不弹窗、打包后调用 API 报错、真机静默失败——90% 是因为 manifest.json 里权限字段写错了位置或格式。

Android 权限必须写在 app-plus.distribute.android.permissions 数组里,且每个项必须是完整限定名,例如:"android.permission.CAMERA"。漏掉 android.permission. 前缀,HBuilderX 不报错,但生成的 APK 在 Android 6.0+ 上直接拒绝调用,plus.android.requestPermissions 回调里的 deniedAlways 可能为空,误判为“用户没点”,实际是系统压根不认这个权限。

Feishu calendar sync, local ics to json data for AI agent
Feishu calendar sync, local ics to json data for AI agent

将ICS日历文件转为JSON格式,用于飞书日历导入导出及数据集成。

下载
  • 常见错误写法:"CAMERA"、"camera"、"READ_EXTERNAL_STORAGE"(缺前缀)
  • Android 10+ 还需注意:READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 需配合 requestLegacyExternalStorage: true(仅调试),上架前应迁移到 Scoped Storage
  • iOS 没有运行时权限弹窗机制,app-plus.distribute.ios 下不支持声明权限,需通过 Info.plist 手动补充(如 NSCameraUsageDescription),manifest.json 里只管 Bundle ID 和图标资源路径

多环境 API 地址怎么注入到 App 端

别指望 process.env.UNI_BASE_URL 在 App 端生效。App 构建时不会解析 JS 层环境变量,它只读 manifest.json 里明确声明的字段。

正确做法是:在 manifest.json 顶层或 app-plus 节点下加自定义字段,比如 "apiBase": "https://api.example.com",然后在代码里用 uni.getProvider 或 plus.runtime.getProperty 读取(注意:H5 端无法用后者,需兼容处理)。

  • 不要把敏感地址写死在 manifest.json 中——它会被打包进原生资源,可被反编译提取
  • 推荐方案:用构建脚本(如 vue.config.js 中的 define)替换占位符,例如把 "apiBase": "__API_BASE__" 替换为真实值,避免暴露逻辑
  • 测试环境打包时,务必验证 uni.getSystemInfoSync().platform === 'android' 或 'ios' 后再读取,避免 H5 端因方法不存在而报错

微信小程序隐私接口声明为什么审核被拒

微信小程序不是“声明了权限就能用”,而是按具体 API 名精确登记。漏一个、错一个,真机就静默失败,控制台无报错,只返回 errCode: -1。

必须把所有实际调用的 API 名,原样写进 mp-weixin.requiredPrivateInfos 数组。这个字段只接受微信文档明确定义的字符串,比如你用了 uni.getLocation 和 uni.getPhoneNumber,就必须同时写 "getLocation" 和 "getPhoneNumber"。

  • 不能写别名:"getlocation"(小写)、"getUserInfo"(驼峰)、"uniGetLocation"(加前缀)都无效
  • 必须配套 permission.scope.userLocation.desc 字段,且值不能为空字符串,否则华为、小米商店审核可能直接驳回
  • 如果只在条件分支里调用某个 API(比如仅登录后才调 getPhoneNumber),也必须提前声明,否则上线后该分支必挂
真正容易被忽略的是:manifest.json 的字段生效范围极窄,它只影响原生打包阶段的资源配置和声明,不参与 JS 运行时逻辑。任何想靠它“动态切换逻辑”的尝试,都会在 App 端失效。多端适配的关键不在写得多,而在写得准——平台字段放对位置、权限名写全前缀、隐私接口名一字不差。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2263

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

4883

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

5990

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

5478

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

783

5

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

80

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

80

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

40

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

40

26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
uni-app从入门到实战教程
uni-app从入门到实战教程

共0课时 | 0人学习

uni-app x harmony开发指南
uni-app x harmony开发指南

共0课时 | 0人学习

uni-app鸿蒙运行和发行
uni-app鸿蒙运行和发行

共0课时 | 0人学习