以下是 UniApp manifest.json 文件的核心配置项及详细说明,按功能模块分类整理:
一、应用基础配置
{
"name": "应用名称", // 必填,应用显示名称(iOS/Android/H5通用)
"appid": "原始ID", // 微信小程序专用(非必填)
"versionName": "1.0.0", // 应用版本号(Android/iOS必填)
"versionCode": "100", // Android版本代码(整型,每次更新递增)
"description": "应用描述", // 应用商店描述(建议200字内)
"icon": "./static/logo.png", // 应用图标(需适配多尺寸)
"startWindowIcon": "", // 启动窗口图标(仅HBuilderX工程有效)
"launchPath": "", // 启动页面路径(默认为首页)
"uniStatistics": { // 统计分析配置
"enable": false, // 是否开启统计
"appid": "" // 友盟/AppBase统计ID
}
}
二、平台适配配置
1.微信小程序特有
{
"mp-weixin": {
"appid": "wx123456789", // 小程序appid(必须)
"setting": {
"urlCheck": false, // 关闭URL安全域名校验
"es6": true // 启用ES6转ES5
},
"usingComponents": true // 启用自定义组件
}
}
2.H5特有
{
"h5": {
"router": {
"mode": "history" // 路由模式(hash/history)
},
"domainWhitelist": ["*.example.com"], // 白名单域名
"devServer": {
"proxy": { // 代理配置
"/api": {
"target": "http://localhost:3000"
}
}
}
}
}
3.App特有
{
"app-plus": {
"distribute": {
"android": {
"permissions": ["android.permission.CAMERA"] // 权限声明
},
"ios": {
"bundleIdentifier": "com.example.app" // iOS Bundle ID
}
},
"modules": {
"Runtime": {
"backgroundAudio": true // 后台音频权限
}
}
}
}
三、权限配置
{
"permissions": {
"android": {
"READ_CONTACTS": {
"desc": "用于读取通讯录联系人" // 权限描述(必须)
}
},
"ios": {
"NSContactsUsageDescription": "需要访问通讯录以同步联系人"
}
}
}
四、运行时配置
{
"runtime": {
"appname": "MyApp", // 应用启动标题
"autoLaunch": true, // 是否自动启动
"showSplashscreen": {
"alwaysShow": false, // 是否强制显示启动页
"delay": 2000 // 延迟关闭时间(ms)
}
}
}
五、第三方服务配置
1. 支付宝小程序
{
"mp-alipay": {
"appid": "2021000123456789",
"privateKey": "./private.pem" // 应用私钥
}
}
2.支付配置
{
"payment": {
"alipay": {
"publicKey": "支付宝公钥" // 支付宝RSA2公钥
},
"wechat": {
"merchantId": "wx8888888888888888
}
}
}
六、应用图标与启动页配置
{
"app-plus": {
"distribute": {
"android": {
"splashscreen": {
"alwaysShow": true, // Android启动页强制显示
"delay": 3000 // 启动页延迟时间(ms)
},
"icons": { // Android图标配置
"ldpi": "./static/icon_36.png",
"mdpi": "./static/icon_48.png",
"hdpi": "./static/icon_72.png"
}
},
"ios": {
"launchScreen": {
"background": "#FFFFFF", // iOS启动页背景色
"images": [ // 启动页图片(需适配不同设备)
"./static/launch_ios_1125x2436.png",
"./static/launch_ios_828x1792.png"
]
}
}
}
},
"icons": { // 跨平台图标配置
"android": {
"ldpi": "./static/icon_36.png",
"xhdpi": "./static/icon_96.png"
},
"ios": {
"AppStore": "./static/icon_appstore.png",
"iPhone": "./static/icon_iphone.png"
}
}
}
七、网络请求配置
{
"networkTimeout": {
"request": 60000, // 请求超时时间(ms)
"connectSocket": 60000, // WebSocket连接超时
"uploadFile": 60000 // 文件上传超时
},
"h5": {
"devServer": {
"proxy": { // H5代理配置
"/api": {
"target": "http://api.yourserver.com",
"changeOrigin": true,
"pathRewrite": {
"^/api": ""
}
}
}
}
}
}
八、插件与原生功能配置
1.原生插件配置
{
"plugins": {
"myPlugin": {
"version": "1.0.0",
"provider": "wxidxxxxxxxxxxxxxx", // 微信插件提供者ID
"unpackage": true // 是否解压原生插件
}
}
}
- 模块加载配置
{
"modules": {
"Push": {
"unipush": true, // 阿里云统一推送
"miPush": {
"appId": "2882303761517658", // 小米推送配置
"appKey": "5751765817658"
}
}
}
}
九、调试与打包配置
{
"h5": {
"devServer": {
"port": 8080, // 开发服务器端口
"open": true // 自动打开浏览器
},
"productionSourceMap": false // 生产环境关闭sourceMap
},
"app-plus": {
"distribute": {
"android": {
"output": "dist/android.apk"// 安卓打包输出路径
}
}
}
}
十、高级隐私配置
{
"privacy": {
"prompt": "template", // 隐私弹窗模板(auto/template/custom)
"agreements": [ // 用户协议列表
{
"name": "用户协议",
"url": "https://example.com/agreement.html"
}
]
}
}
注意事项
1.敏感信息处理
支付宝/微信的 privateKey 应通过环境变量注入,禁止明文存储
iOS的 bundleIdentifier 需与开发者账号严格匹配
2.多平台差异
{
"mp-weixin": {
"functionalPages": true // 微信小程序服务端能力开关
},
"app-plus": {
"usingHybridPlus": false // 关闭混合模式(纯原生编译)
}
}
3.性能优化
{
"app-plus": {
"renderer": "canvas2d", // 强制使用Canvas2D渲染模式
"domSubtreeLevel": 8 // DOM层级深度限制
}
}
配置验证工具
1.使用 HBuilderX 的「运行 → 运行到手机或模拟器」进行实时验证
2.通过 npx uniapp-cli validate 执行配置文件语法检查
3.微信小程序需使用「微信开发者工具 → 详情 → 本地设置」开启不校验合法域名
(完整配置项参考 UniApp官方文档)