Manifest.json文档说明 manifest配置

概述

\n

Manifest.json文件是5+移动App的配置文件,用于指定应用的显示名称、图标、应用入口文件地址及需要使用的设备权限等信息,用户可通过HBuilder的可视化界面视图或者源码视图来配置5+移动App的信息。
Manifest.json文件根据w3c的webapp规范制定,plus节点下内容为HTML5Plus扩展规范,其下包括iOS和Android子节点,内容来源分别为iOS和Android原生打包所要求的参数,用于对5+移动App打包为ipa或apk安装包进行配置。

应用基本信息配置

\n

在HBuilder中创建“移动App”应用后后都会在工程下生成manifest.json文件,在“项目管理器”中双击即可打开。
双击应用的manifest.json

HBuilder打开manifest.json文件后默认显示“可视化视图”,可配置应用的基本信息:
manifest.json可视化视图
点击窗口底部的“代码视图”可切换到代码视图:
manifest.json可视化视图

应用信息

\n

包括应用的名称、入口页面地址、版本信息等。
可视化视图
manifest.json应用信息
- 应用名称:App打包后在手机上桌面的快捷方式名称;
- appid:HBuilder appid(应用标识),在创建时分配的、以后不可改的标识。如用户手动修改ID打包时会提示参数错误;
- 版本号:应用的版本号,用户可通过plus API(plus.runtime.version)获取应用的版本号,需提交App云端打包后才能生效;
- 入口页面:应用启动后自动打开的第一个HTML页面,可填写本地html文件地址(相对于应用根目录)或网络地址(以http://或https://开头)。

代码视图
manifest.json应用信息代码
字段说明:

节点名 二级节点 是否可选 说明
id 必选 Hbuilder appid
launch_path 必选 入口页面
name 必选 应用名称
version name 必选 版本号(名称),在应用中显示的字符串
version code 可选 版本号(数字),各应用市场以此判断版本号,数字大表示版本号高,未指定时HBuilder在提交App云端打包时会自动生成保证新打包版本后高
\n

重力感应

\n

配置应用运行时支持的显示方向。
可视化视图
manifest.json重力感应
可通过点击表示设备方向的按钮来选择设备支持重力感应旋转方向。
重力选择按钮可选择一个或多个,选择多个方向后,应用可按照指定方向显示应用页面,如只选中一个按钮,表示终端只支持一个方向显示页面内容。

代码视图
manifest.json重力感应代码
通过plus->distribute->orientation字段值进行控制:
- "portrait-primary":竖屏正方向;
- "portrait-secondary":竖屏反方向;
- "landscape-primary":横屏正方向;
- "landscape-secondary":横屏反方向。

>注意:需要提交App云端打包后才生效。

平台选择

\n

用于选择应用支持的手机平台,选择支持后会出现对应的平台图标和启动界面配置项:
manifest.json平台选择
- iOS:支持iOS平台
- iPhone:支持iPhone(iTouch)设备
- iPad:支持iPad设备
- Android:支持Android平台
>注意:IOS打包支持iPhone和iPad两种设备,用户需要根据应用的运行效果自行选择。设备的支持可选择一种或两种。
如只选择iPhone设备打包,打包后应用在iPad上运行效果为四周有黑色边框效果,应用获取的设备分辨率为iPhone设备的分辨率; 如只选择iPad设备打包,则应用无法安装到iPhone设备上; 如果两设备同时选择,则程序在设备上运行均为全屏效果。

应用图标和启动图片

\n

可视化视图
在平台中选择后则会出现对应平台的应用图标和启动图片配置项:
manifest.json应用图标和启动图片

点击展开详细配置项:
manifest.json Android平台应用图标和启动图片
按照页面提示的分辨率选择对应的应用图标和启动图片即可。
>注意:所有图片格式必须是png,且严格符合分辨率要求。使用其他图片格式重命名为png会导致打包失败!

代码视图
在代码视图中可以进行更加灵活的配置:

iOS平台

\n

应用图标

\n

iOS平台应用图标配置项在plus->distribute->icons->ios下进行配置:
manifest.json iOS平台应用图标
prerendered:应用图标是否已经高亮处理,在iOS6及以下设备上有效;
auto:App云端打包自动生成各种尺寸的原始图片,要求为512x512的png图,没有在iphone和ipad中指定对应分辨率图标时则通过此文件进行缩放自动生成;
iphone:指定iPhone设备上各iOS版本上使用的应用图标(png格式),详情如下:

节点名 图标尺寸 说明
normal 57*57 iPhone普通屏幕程序图标
retina 114*114 iPhone高分屏程序图标
retina7 120*120 iPhone iOS7高分屏程序图标
retina8 180*180 iPhone6Plus程序图标
spotlight-normal 29*29 iPhone Spotlight搜索程序时出现在程序列表中的图标
spotlight-retina 58*58 iPhone高分屏Spotlight搜索程序图标
spotlight-retina7 80*80 iPhone iOS7高分屏Spotlight搜索程序图标
settings-normal 29*29 iPhone设置页面程序图标
settings-retina 58*58 iPhone高分屏设置页面程序图标
settings-retina8 87*87 iPhone6Plus设置页面程序图标

ipad:指定各种iPad设备上各iOS版本上使用的应用图标(png格式):\n
节点名 图标尺寸 说明
normal 72*72 iPad普通屏幕程序图标
retina 144*144 iPad高分屏程序图标
normal7 76*76 iPad iOS7程序图标
retina7 152*152 iPad iOS7高分屏程序图标
spotlight-normal 50*50 iPad Spotlight搜索程序时出现在程序列表中的图标
spotlight-retina 100*100 iPad高分屏Spotlight搜索程序图标
spotlight-normal7 40*40 iPad iOS7 Spotlight搜索程序图标
spotlight-retina7 80*80 iPad iOS7高分屏Spotlight搜索程序图标
settings-normal 29*29 iPad设置页面程序图标
settings-retina 58*58 iPad高分屏设置页面程序图标
\n

启动图片

\n

iOS平台应用启动图片配置项在plus->distribute->splashscreen->ios下进行配置:
manifest.json iOS平台启动图片
iphone:指定各iPhone设备上使用的启动图片(png格式),详情如下:

节点名 图标尺寸 说明
default 320*480 iPhone3启动图片
retina35 640*960 3.5英寸设备(iPhone4)启动图片
retina40 640*1136 4.0英寸设备(iPhone5)启动图片
retina55 1242*2208 4.7/5.5英寸设备(iPhone6[Plus]/7[Plus]/8[Plus])启动图片
retina55l 2208*1242 4.7/5.5英寸设备(iPhone6[Plus]/7[Plus]/8[Plus])横屏启动图片
iphonex 1125*2436 5.8英寸设备(iPhoneX)启动图片
iphonexl 2436*1125 5.8英寸设备(iPhoneX)横屏启动图片

ipad:指定各种iPad设备上使用的启动图片(png格式):\n
节点名 图标尺寸 说明
portrait 768*1004 需支持iPad时必选,iPad竖屏启动图片
portrait-retina 1536*2008 需支持iPad时必选,iPad高分屏竖屏图片
landscape 1024*748 需支持iPad时必选,iPad横屏启动图片
landscape-retina 2048*1496 需支持iPad时必选,iPad高分屏横屏启动图片
portrait7 768*1024 iOS7时必选,iPad竖屏启动图片
portrait-retina7 1536*2048 需支持iPad iOS7时必选,iPad高分屏竖屏图片
landscape7 1024*768 需支持iPad iOS7时必选,iPad横屏启动图片
landscape-retina7 2048*1536 需支持iPad iOS7时必选,iPad高分屏横屏启动图片
\n

Android平台

\n

应用图标

\n

Android平台应用图标配置项在plus->distribute->icons->android下进行配置:
manifest.json Android平台应用图标
指定各种分辨率设备上使用的应用图标(png格式)

节点名 图标尺寸 说明
mdpi 48*48 普通屏程序图标
ldpi 48*48 大屏程序图标
hdpi 72*72 高分屏程序图标
xhdpi 96*96 720P高分屏程序图标
xxhdpi 144*144 1080P高分屏程序图标
\n

启动图片

\n

Android平台应用启动图片配置项在plus->distribute->splashscreen->android下进行配置:
manifest.json Android平台启动图片
指定各种分辨率设备上使用的启动图片(png格式)

节点名 图标尺寸 说明
mdpi 240*282 普通屏启动图片
ldpi 320*442 大屏启动图片
hdpi 480*762 高分屏启动图片
xhdpi 720*1242 720高分屏幕启动图片
xxhdpi 1080*1882 1080p高分屏启动图片
\n

第三方插件

\n

在5+应用中如需要使用推送、统计、分享等功能,则需要在打包时选择使用第三方插件,并填写相关配置信息。
manifest.json 使用第三方插件
选中“使用第三方插件”后会出现自动出现“插件设置”项,展开为:
manifest.json 使用第三方插件配置
选中需要使用的插件模块,则会自动显示对应的参数配置输入框。

统计插件

\n

5+目前在统计插件方面集成的是友盟统计平台,开发者可以通过集成统计插件来对已开发的应用的重要信息点进行统计,并通过友盟后台网站查看统计数据。用户需要在友盟统计官网(http://www.umeng.com/)申请应用。

参考统计插件配置

地图插件

\n

5+目前集成了百度地图和高德地图,开发者可以在应用中调用plus.maps.* API显示地图。
需在百度地图开发者网站(http://developer.baidu.com/map/)申请应用的appkey
并在manifest.json文件中配置。IOS设备和Android设备需要单独申请各自的appkey。

参考地图插件配置

支付插件

\n

5+目前已集成以下支付平台的sdk:
1. 支付宝
使用支付功能前必须在支付宝网站开通”快捷支付“服务,并配置服务器生成订单信息。
2. 微信支付
参考支付插件配置

分享插件

\n

5+目前已集成以下分享平台:
1. 新浪微博
2. 腾讯微博
3. 微信
4. [QQ]

参考分享插件配置

推送插件

\n

5+目前已集成个推推送平台
参考分推送插件配置

授权登录插件

\n

5+目前已集成以下第三方授权登录平台:
1. 微信
2. QQ
3. [新浪微博]
参考授权登录插件配置

完整manifest.json格式

\n

上面介绍了manifest.json文件的常用配置信息,下面是一些5+ APP特有或根据平台特性补充的一些配置信息。在HBuilder中需打开manifest.json文件并切换到“代码视图”进行手动配置。

{
"id": "必选,应用的标识",
"name": "必选,应用名称",
"version": {
"name": "必选,版本名称",
"code": "必选,版本代号,对应原来的versionCode值"
},
"description": "可选,应用描述信息",
"icons": {
"48": "可选,应用图标的路径,可以放多种分辨率"
},
"launch_path": "必选,应用的入口页面,默认为根目录下的index.html;也可以是网络地址,网络地址必须以http://或https://开头",
"developer": {
"name": "可选,开发者名称",
"email": "可选,开发者邮箱地址",
"url": "可选,开发者网站地址"
},
"permissions": {
"Accelerometer": "必选,访问设备感应器",
"Camera": "必选,访问设备感应器",
"Contacts": "必选,访问设备感应器",
"UI": "必选,访问设备感应器",
"push": {
"cover": "true"
},
"runtime": "必选,访问设备感应器"
},
"orientation": [
"portrait",
"landscape",
"可选,"
],
"default_locale": "可选,保留作为默认使用的本地化资源,暂不使用",
"locales": "可选,保留作为本地化使用,暂不使用",
"plus": {
"arguments": "启动应用的参数,应用中可通过plus.runtime.arguments获取",
"splashscreen": {
"autoclose": "可选,是否自动关闭启动界面,默认值为true",
"event": "titleUpdate|rendering|loaded,触发自动关闭splash界面的事件",
"target": "default|second,event事件的目标Webview窗口",
"waiting": "true|false,是否显示等待雪花",
"delay": "可选,启动界面在应用的首界面加载完毕后延迟关闭的时间,单位为ms",
"ads": {
"background": "开屏广告背景颜色,#RRGGBB格式字符串,默认值为白色(#FFFFFF)",
"image": "开屏广告底部图片地址,如logo.png,相对应用资源目录路径,不支持网络地址"
}
},
"statusbar": {
"immersed": "none|suggestedDevice|supportedDevice,沉浸式状态栏情况",
"style": "dark|light, 系统状态栏样式",
"background": "#RRGGBB格式字符串,系统状态栏背景颜色"
},
"popGesture": "none,新建webview窗口无侧滑返回功能;close:新建webview窗口默认侧滑返回关闭;hide:新建webview窗口默认侧滑返回隐藏。",
"error": {
"url": "页面加载错误时打开的页面地址,可以是网络地址,也可以是本地地址"
},
"useragent": {
"value": "要设置的默认userAgent值",
"concatenate": true
},
"cache": {
"mode": "Webview窗口的默认缓存模式,可取值default、cacheElseNetwork、noCache、cacheOnly"
},
"cers": {
"description": "控制是否开启应用异常崩溃与错误报告系统",
"crash": true
},
"kernel": {
"ios": "Webview窗口默认使用的内核,可取值:WKWebview - 在iOS8.0及以上系统默认使用WKWebview内核,UIWebview - 使用UIWebview内核,默认值为UIWebview"
},
"ssl": {
"untrustedca": "accept|refuse|warning,访问https网络时对非受信证书的处理逻辑"
},
"launchwebview": {
"overrideresource": [{
"match": "区配拦截的资源url地址",
"redirect": "拦截资源的重现向地址",
"mime": "拦截资源的数据类型",
"encoding": "拦截资源的数据编码",
"header": "拦截资源的http头数据"
}],
"overrideurl": {
"mode": "allow|reject,拦截模式",
"match": "匹配拦截规则",
"exclude": "none|redirect,排除拦截理规则"
},
"titleNView": {
"backgroundcolor": "#F7F7F7, 标题栏背景颜色",
"titletext": "标题栏标题文字内容",
"titlecolor": "#000000, 标题栏标题文字颜色"
}
},
"secondwebview": {
"launch_path": "加载页面地址",
"id": "Webview窗口标识",
"mode": "front|child|behind,Webview显示模式",
"height": "0px|10%,Webview窗口高度",
"overrideresource": [{
"match": "区配拦截的资源url地址",
"redirect": "拦截资源的重现向地址",
"mime": "拦截资源的数据类型",
"encoding": "拦截资源的数据编码",
"header": "拦截资源的http头数据"
}],
"overrideurl": {
"mode": "allow|reject,拦截模式",
"match": "匹配拦截规则",
"exclude": "none|redirect,排除拦截理规则"
}
},
"runmode": "normal",
"signature": "可选,保留给应用签名,暂不使用",
"confusion": {
"description":"js原生混淆配置",
"resources":{
}
}
"distribute": {
"debug": "可选,是否为debug模式,可取值:true表示debug模式运行,false表示release模式运行,默认值为false",
"apple": {
"appid": "iOS必选,苹果开发网站申请的appid,如io.dcloud.hbuilder",
"mobileprovision": "iOS必选,打包配置文件",
"password": "iOS必选,导入配置文件密码",
"p12": "iOS必选,打包配置文件关联的个人证书",
"devices": "iphone,可取值iphone/ipad/universal",
"UIReserveStatusbarOffset": "应用的区域是否预留系统状态栏位置(应用区域通顶到系统状态栏区域),仅iOS7及以上平台有效,Boolean类型,true表示预留系统状态栏位置(不通顶),false表示不预留系统状态栏位置(通顶),默认值为true。",
"UIStatusBarStyle": "设置状态栏的样式,可取值UIStatusBarStyleBlackTranslucent/UIStatusBarStyleDefault/UIStatusBarStyleBlackOpaque",
"StatusBarBackground": "设置状态栏的背景颜色,iOS7以上系统有效,支持#RRGGBB格式",
"UIBackgroundModes": ["设置应用是否支持后台模式,可取值“audio”表示支持后台播放音乐"],
"urltypes": [{
"urlschemes": [
"hbuilder",
"必选,程序所支持的自定义协议名称"
],
"id": "可选,自定义协议的标识",
"icon": "可选,打开程序时显示的图标"
},
{
"urlschemes": [
"http",
"https",
"必选,程序所支持的自定义协议名称,大小写无关,推荐使用小写"
],
"id": "可选,自定义协议的标识",
"icon": "可选,打开程序时显示的图标"
}
],
"deploymentTarget": "iOS支持的最低操作系统版本,例如:9.1.0",
"frameworks": ["使用native.js调用API要引用的库文件名称,如CoreLocation.framework", "QuartzCore.framework"]
},
"google": {
"packagename": "Android必选,程序包名,如com.dheaven.hbuilder",
"keystore": "Android必选,打包证书文件",
"password": "Android必选,打包证书密码",
"aliasname": "Android必选,打包证书别名",
"hardwareAccelerated": "Boolean类型,是否开启硬件加速,true表示开启,false表示关闭",
"schemes": [
"应用支持的scheme,大小写相关,推荐使用小写"
],
"theme": "程序使用的主题",
"android:name": "自定义程序入口类名",
"custompermissions": "Boolean类型,是否自定义android权限,true表示自定义权限,只使用permissions下指定的android权限,不根据用户使用的5+模块自动添加android权限,false表示自动根据用户使用的5+模块自动添加android权限",
"permissions": [
"要添加的额外的android权限,如<uses-permission android:name=\"com.android.launcher.permission.INSTALL_SHORTCUT\" />",
"<uses-permission android:name=\"com.android.launcher.permission.UNINSTALL_SHORTCUT\" />"
],
"minSdkVersion":"apk支持的最低版本,默认值为14",
"targetSdkVersion":"apk的目标版本,默认值为21"
},
"orientation": [
"portrait-primary",
"landscape-primary",
"portrait-secondary",
"landscape-secondary"
],
"icons": {
"ios": {
"appstore":"必选, 1024x1024, 提交app sotre使用的图标",
"iphone": {
"app@2x": "可选,120x120,iOS7-11程序图标(iPhone4S/5/6/7/8)",
"app@3x": "可选,180x180,iOS7-11程序图标(iPhone6plus/7plus/8plus/X)",
"spotlight@2x": "可选,80x80,iOS7-11 Spotlight搜索图标(iPhone5/6/7/8)",
"spotlight@3x": "可选,120x120,iOS7-11 Spotlight搜索图标(iPhone6plus/7plus/8plus/X)",
"settings@2x": "可选,58x58,iOS5-11 Settings设置图标(iPhone5/6/7/8)",
"settings@3x": "可选,87x87,iOS5-11 Settings设置图标(iPhone6plus/7plus/8plus/X)",
"notification@2x": "可选,40x40,iOS7-11 通知栏图标(iPhone5/6/7/8)",
"notification@3x": "可选,60x60,iOS7-11 通知栏图标(iPhone6plus/7plus/8plus/X)"
},
"ipad": {
"app[normal7]": "可选,76x76,iOS7-11程序图标",
"app@2x[retina7]": "可选,152x152,iOS7-11程序图标(高分屏)",
"proapp@2x": "可选,167x167,iOS9-11程序图标(iPad Pro)",
"spotlight": "可选,40x40,iOS7-11 Spotlight搜索图标",
"spotlight@2x": "可选,80x80,iOS7-11 Spotlight搜索图标(高分屏)",
"settings": "可选,29x29,iOS5-11 设置图标",
"settings@2x": "可选,58x58,iOS5-11 设置图标(高分屏)",
"notification": "可选,20x20,iOS7-11 通知栏图标",
"notification@2x": "可选,40x40,iOS7-11 通知栏图标(高分屏)"
}
},
"android": {
"mdpi": "必选,48x48,普通屏程序图标",
"ldpi": "必选,48x48,大屏程序图标",
"hdpi": "必选,72x72,高分屏程序图标",
"xhdpi": "必选,96x96,720P高分屏程序图标",
"xxhdpi": "必选,144x144,1080P高分屏程序图标",
"xxxhdpi": "可选,192x192"
}
},
"splashscreen": {
"ios": {
"iphone": {
"default": "可选,320x480,iPhone3启动图片",
"retina35": "可选,640x960,3.5英寸设备(iPhone4)启动图片",
"retina40": "可选,640x1136,4.0英寸设备(iPhone5)启动图片",
"retina40l":"可选,1136x640,4.0英寸设备(iPhone5)横屏启动图片",
"retina47": "可选,750x1334,4.7英寸设备(iPhone6)启动图片",
"retina47l": "可选,1334x750,4.7英寸设备(iPhone6)横屏启动图片",
"retina55": "可选,1242x2208,5.5英寸设备(iPhone6Plus)启动图片",
"retina55l": "可选,2208x1242,5.5英寸设备(iPhone6Plus)横屏启动图片",
"iphonex": "可选,1125x2436,iPhoneX启动图片",
"iphonexl": "可选,2436x1125,iPhoneX横屏启动图片"
},
"ipad": {
"portrait": "可选,768x1004,需支持iPad时必选,iPad竖屏启动图片",
"portrait-retina": "可选,1536x2008,需支持iPad时必选,iPad高分屏竖屏图片",
"landscape": "可选,1024x748,需支持iPad时必选,iPad横屏启动图片",
"landscape-retina": "可选,2048x1496,需支持iPad时必选,iPad高分屏横屏启动图片",
"portrait7": "可选,768x1024,需支持iPad iOS7时必选,iPad竖屏启动图片",
"portrait-retina7": "可选,1536x2048,需支持iPad iOS7时必选,iPad高分屏竖屏图片",
"landscape7": "可选,1024x768,需支持iPad iOS7时必选,iPad横屏启动图片",
"landscape-retina7": "可选,2048x1536,需支持iPad iOS7时必选,iPad高分屏横屏启动图片"
}
},
"android": {
"mdpi": "必选,240x282,普通屏启动图片",
"ldpi": "必选,320x442,大屏启动图片",
"hdpi": "必选,480x762,高分屏启动图片",
"xhdpi": "必选,720x1242,720P高分屏启动图片",
"xxhdpi": "必选,1080x1882,1080P高分屏启动图片"
}
},
"plugins": {
"statics": {
"umeng": {
"appkey_ios": "必选,iOS平台友盟统计应用密钥,如5379d57656240b5493130a40",
"channelid_ios": "可选,iOS平台应用发布通道标识,如appstore",
"appkey_android": "必选,Android平台友盟统计应用密钥,如5379d5c456240b9c8b045211",
"channelid_android": "必选,Android平台应用发布通道标识,如googleplay",
"appkey": "废弃,友盟统计应用密钥",
"channelid": "废弃,友盟统计应用发布通道标识"
}
},
"maps": {
"baidu": {
"appkey_ios": "必选,iOS平台百度地图应用密钥,如mRFUA0lOYyCGXOcFkZ4cP44K",
"appkey_android": "必选,Android平台百度地图应用密钥,如mRFUA0lOYyCGXOcFkZ4cP44K",
"appkey": "废弃,老版本使用的应用密钥,如mRFUA0lOYyCGXOcFkZ4cP44K",
"description": "百度地图"
}
},
"speech": {
"ifly": {
"appid": "必选,讯飞语音识别应用标识"
}
},
"push": {
"mkeypush": {
"appid": "必选,MKey推送应用标识",
"appkey": "必选,MKey推送应用appkey",
"server": "必选,MKey推送服务器地址"
},
"igexin": {
"appid": "必选,个推应用标识",
"appkey": "必选,个推应用appkey",
"appsecret": "必选,个推应用安全标识"
}
},
"share": {
"sina": {
"appkey": "必选,新浪网站申请",
"appsecret": "必选,新浪网站申请",
"redirect_uri": "必选,新浪网站申请应用时填写",
"description": "可选,新浪微博分享"
},
"tencent": {
"appkey": "必选,腾讯网站申请",
"appsecret": "必选,腾讯网站申请",
"redirect_uri": "必选,腾讯网站申请应用时填写",
"description": "可选,腾讯微博分享"
},
"weixin": {
"appid": "必选,微信网站申请",
"appsecret": "必选,微信网站申请",
"description": "可选,微信分享"
}
},
"payment": {
"alipay": {
"scheme": "必选,iOS平台调用支付宝的“快捷支付”应用返回时用到的标识",
"description": "可选,阿里支付"
},
"weixn": {
"description": "可选,微信支付"
}
}
}
},
"adid": "广告联盟会员ID"
}
}

\n

应用是否全屏显示

\n

fullscreen节点定义应用是否全屏方式显示,Boolean值:true表示应用全屏方式显示,false表示非全屏方式显示(显示系统状态栏)。
默认值为false。

5+ API模块设置

\n

permissions节点定义应用调用扩展API的权限,JSON格式对象,字段值为扩展API的feature名称,参考5+ API模块化分类
包括以下字段:
- "description":扩展特性描述信息
特殊字段:
- "cover":Push API模块有效,布尔类型,用于描述是接收到新的推送消息后是否在覆盖系统消息中心中以前的消息,true表示覆盖,false表示不覆盖,默认值为false。

开发者信息

\n

应用的开发者信息,包括以下字段信息:
- name;开发者名称,字符串类型
- email;开发者邮箱地址,字符串类型
- url:开发者网站地址,字符串类型。

5+ 扩展参数

\n

arguments
可选项,应用启动时的5+默认参数,String类型。
在5+中可通过plus.runtime.arguments获取,如果外部调用应用时传入了参数,则覆盖此默认参数。

splashscreen
可选项,程序启动界面配置信息,JSON格式对象,包括以下字段:
- autoclose:是否自动关闭程序启动界面,布尔类型。默认为true,即自动关闭程序启动界面,否则需要在应用中显式调用plus.navigator.closeSplashscreen方法来关闭。
- event:触发自动关闭splash界面的事件类型,字符串类型,可取值:"titleUpdate"表示当首页Webview的titleUpdate事件触发时自动关闭splash界面,"rendering"表示当首页Webview的rendering事件触发时自动关闭splash界面,"loaded":表示当首页Webview的loaded事件触发时自动关闭splash界面。默认值为loaded。
- target:设置双首页模式下,定义目标webview触发event类型自动关闭splash界面,可取值:"default"根据首页Webview的event事件关闭splash,"second":根据第二个首页Webview的event事件关闭splash,默认值为"default"。
- waiting:是否在程序启动界面显示等待雪花,布尔类型。默认为false,即不显示等待雪花。
- delay:启动界面在应用的首页面加载完毕后延迟关闭的时间,单位为毫秒,数字类型。默认不延迟,即首页面加载完毕后立即关闭。
- ads:开屏广告配置信息,JSON格式对象,包括以下属性: background设置背景颜色,image设置底部图片地址,相对应用资源目录路径,不支持网络地址,建议分辨率720x256(要求png格式,背景透明,留出边距,在不同分辨率手机上会自动等比例缩放处理)

statusbar
应用启动后的系统状态栏样式,包括以下字段:
-immersed:定义应用是否使用沉浸式状态栏样式,String类型:"none"非沉浸式状态栏样式(与之前Boolean类型的false一致);"suggestedDevice"沉浸式状态栏,仅在支持设置状态栏前景色样式的设备上生效(Android5.0的小米&魅族、Android6.0及以上,iOS在所有设备上生效);"supportedDevice"沉浸式状态栏,在所有支持沉浸式状态栏设备上生效(与之前的true一致,Android4.4及以上);"true"沉浸式状态栏样式,系统状态栏背景颜色透明(此时background属性值无效),Webview窗口显示在系统状态栏下;"false"非沉浸式状态栏样式,由style和background决定。 默认值为"false"。
-style:系统状态栏样式(前景颜色),字符串类型,可取以下值:"dark"深色前景色样式(即状态栏前景文字为黑色),此时background建议设置为浅颜色;"light"浅色前景色样式(即状态栏前景文字为白色),此时background建设设置为深颜色。可通过plus.navigator.setStatusBarStyle()动态调整。注:Android5.0(小米&魅族)和Android6.0及以上系统支持,iOS7.0及以上系统支持
-background:系统状态栏背景颜色,字符串类型,#RRGGBB格式,颜色值格式为"#RRGGBB",如"#FF0000"为红色。默认使用系统样式,通常iOS平台默认为light样式;Android平台默认为dark(各ROM厂商存在差异)。可通过plus.navigator.setStatusBarBackground()动态调整。注:仅在immersed属性值设置为false时有效

useragent
程序中http请求的userAgent信息,JSON格式对象,包括以下字段:
- value:userAgent值,字符串类型。
- concatenate:是否将value值作为追加值连接到默认userAgent值之后,true表示追加模式,若value不以空格字符开头,则在其前面自动添加空格字符。默认为false,即覆盖默认userAgent值。

cache
可选项,程序的缓存配置信息,JSON格式对象,包括以下字段:
- mode:Webview窗口默认使用的缓存模式,可取值: "default" - 根据cache-control决定是否使用缓存数据,如果存在缓存并且没有过期则使用本地缓存资源,否则从网络获取; "cacheElseNetwork" - 只要存在缓存(即使过期)数据则使用,否则从网络获取; "noCache" - 不使用缓存数据,全部从网络获取; "cacheOnly" - 仅使用缓存数据,不从网络获取(注:如果没有缓存数据则会导致加载失败)。 默认使用"default"。

cers
可选项,程序的异常崩溃与错误报告系统配置信息,JSON格式对象,包括以下字段:
- crash:是否提交程序异常崩溃信息,true表示提交,false表示不提交,默认值为true。

kernel
可选项,Webview窗口使用的内核,JSON格式对象,包括以下字段:
- ios:iOS平台Webview窗口默认使用的内核,可取值:
"WKWebview" - 在iOS8.0及以上系统默认使用WKWebview内核;
"UIWebview" - 使用UIWebview内核。
默认值为UIWebview。

runmode
应用的运行模式,字符串类型,可取值:
- "normal":正常运行模式。
- "liberate":释放资源运行模式,应用在第一次启动时将解压自带资源到SDcard,正常情况不推荐使用该模式。该模式的缺点:第一次启动更慢,耗费时间先解压、容易被三方清理软件清理。该模式有用的场景:此模式下File API才可正常访问_www应用资源,以及在某些Android rom访问本地页面时url地址中包含?带参数,但不推荐使用这种跨页传参方式,推荐使用其他方式跨页传参http://ask.dcloud.net.cn/article/288

allowsInlineMediaPlayback
允许应用内video标签非全屏播放,仅iOS平台有效,并且video标签必须添加webkit-playsinline属性,如下示例:
<video controls="controls" src="http://.../x.mp4" webkit-playsinline>

error
定义窗口加载错误时的处理逻辑,其下包括以下字段:
- url:窗口加载错误时(如本地页面不存在,或者无法访问的网络地址)跳转的页面地址,仅支持本地页面地址。设置为“none”则关闭跳转到错误页面功能,此时页面显示Webview默认的错误页面内容。默认使用5+ Runtime内置的错误页。

ssl
配置应用ssl相关设置,包括以下字段:
- “untrustedca”:配置应用中https请求时,如果服务器返回非受信证书的处理逻辑,字符串类型,可取值:
"accept" - 接受此非受信证书,继续访问
"refuse" - 拒绝此非 受信证书,停止访问
"warning" - 弹出警告提示框提醒用户,由用户确定是否继续访问。 默认值为"accept"。

launchwebview
应用首页Webview的配置信息,包括以下字段:
- "overrideresource":配置应用首页的拦截资源请求处理逻辑,可包含多条配置项,配置项json支持以下属性
match: 区配拦截的资源url地址,支持正则表达式,与WebviewOverrideResourceOptions的match属性功能一致
redirect: 拦截资源的重现向地址,仅支持本地资源地址,如"_www"、"_doc"、"_downloads"、"_documents"等开头的路径,与WebviewOverrideResourceOptions的redirect属性功能一致
mime: 拦截资源的数据类型,RFC2045/RFC2046/RFC2047/RFC2048/RFC2049规范中定义的数据类型,与WebviewOverrideResourceOptions的mime属性功能一致
encoding: 拦截资源的数据编码,默认值"UTF-8",与WebviewOverrideResourceOptions的encoding属性功能一致
header: 拦截资源的http头数据,JSON格式数据,与WebviewOverrideResourceOptions的encoding属性功能一致
注:以上配置项与Webview的overrideResourceRequest方法作用一致,配置项可参考http://www.dcloud.io/docs/api/zh_cn/webview.html#plus.webview.WebviewObject.overrideResourceRequest
- "overrideurl":配置应用首页的拦截链接请求处理逻辑,支持以下属性
mode:拦截模式,可取值:
"allow":表示满足match属性定义的条件时不拦截url继续加载,不满足match属性定义的条件时拦截url跳转并触发callback回调
"reject":表示满足match属性定义的提交时拦截url跳转并触发callback回调,不满足match属性定义的条件时不拦截url继续加载
默认值为"reject"。
match:匹配拦截规则,支持正则表达式,默认值为对所有URL地址生效(相当于正则表达式“.*”)。 如果mode值为"allow"则允许区配的URL请求跳转,mode值为"reject"则拦截区配的URL请求。
exclude:排除拦截理规则,可取值:
"none"表示不排除任何URL请求(即拦截处理所有URL请求)
"redirect"表示排除拦截处理301/302跳转的请求(谨慎使用,非a标签的href触发的URL请求可能会误判断为302跳转)
默认值为"none"。
- "titleNView":配置应用首页的标题栏,配置此属性则首页显示标题栏,支持以下属性:
backgroundcolor:标题栏背景颜色,字符串类型,格式为“#RRGGBB”,默认值为灰黑色(#1B1A1F)
titletext:标题栏标题文字内容,默认值为当前加载页面的标题
titlecolor:标题栏标题文字颜色,字符串类型,格式为“#RRGGBB”,默认值为白色(#FFFFFF)

secondwebview
应用双首页模式配置项,添加此字段则表明应用采用双首页模式运行,应用启动除了创建默认入口页外还创建第二个Webview,配置信息包括以下字段:
- "launch_path":第二个Webview加载的页面地址,支持网络地址和本地地址
- "id":第二个Webview窗口标识,默认值为%APPID%__second
- "mode":第二个Webview显示模式,可取值:
"child":表示作为launchwebview的子窗口
"front":表示与launchwebview平级并在其前显示
"behind":表示与launchwebview平级并在其后显示
默认值为"front"。
- "height":第二个Webview窗口高度
- "injection":控制第二个Webview是否提前注入js, 包括all.js/wap2app.js/setJsXXX设置的js等,布尔类型:
true:提前注入,android平台则会拦截第一个网络js资源请求,将要注入的js添加的网络js数据前;iOS平台则会解析到第一个script节点时注入。
false:不提前注入,页面加载完成后(loaded事件)再注入。
默认值为true。
注:Android提前注入的问题会影响页面加载速度(大概在400ms左右);iOS提前注入的问题是会导致302调转的拦截问题(wap2app可能出现白屏)。
- "overrideresource":配置应用首页的拦截资源请求处理逻辑,可包含多条配置项,配置项json支持以下属性
match: 区配拦截的资源url地址,支持正则表达式,与WebviewOverrideResourceOptions的match属性功能一致
redirect: 拦截资源的重现向地址,仅支持本地资源地址,如"_www"、"_doc"、"_downloads"、"_documents"等开头的路径,与WebviewOverrideResourceOptions的redirect属性功能一致
mime: 拦截资源的数据类型,RFC2045/RFC2046/RFC2047/RFC2048/RFC2049规范中定义的数据类型,与WebviewOverrideResourceOptions的mime属性功能一致
encoding: 拦截资源的数据编码,默认值"UTF-8",与WebviewOverrideResourceOptions的encoding属性功能一致
header: 拦截资源的http头数据,JSON格式数据,与WebviewOverrideResourceOptions的encoding属性功能一致
注:以上配置项与Webview的overrideResourceRequest方法作用一致,配置项可参考http://www.dcloud.io/docs/api/zh_cn/webview.html#plus.webview.WebviewObject.overrideResourceRequest
- "overrideurl":配置应用首页的拦截链接请求处理逻辑,支持以下属性
mode:拦截模式,可取值:
"allow":表示满足match属性定义的条件时不拦截url继续加载,不满足match属性定义的条件时拦截url跳转并触发callback回调
"reject":表示满足match属性定义的提交时拦截url跳转并触发callback回调,不满足match属性定义的条件时不拦截url继续加载
默认值为"reject"。
match:匹配拦截规则,支持正则表达式,默认值为对所有URL地址生效(相当于正则表达式“.*”)。 如果mode值为"allow"则允许区配的URL请求跳转,mode值为"reject"则拦截区配的URL请求。
exclude:排除拦截理规则,可取值:
"none"表示不排除任何URL请求(即拦截处理所有URL请求)
"redirect"表示排除拦截处理301/302跳转的请求(谨慎使用,非a标签的href触发的URL请求可能会误判断为302跳转)
默认值为"none"。

confusion
应用的JS文件原生混淆配置
- “description”:原生混淆配置描述信息
- “resources”:要混淆的JS文件列表,JSON对象,以要混淆的js文件路径(相对路径)为键名,值为空JSON对象即可,如下示例:

// ...
“plus”: {
     // ...
       "confusion": { 
                "description": "JS原生混淆", 
                "resources": { 
                        "js/common.js": { 
                        }, 
                        "js/immersed.js": { 
                        } 
                } 
        }
       // ...
}
// ...
\n

iOS平台打包配置信息

\n

在plus->distribute->apple节点下保存iOS平台打包配置信息,用于定义iOS平台专用的应用特性。
appid
Apple appid,苹果开发网站申请的appid,使用反向域名格式,如io.dcloud.hbuilder

devices
应用支持的设备类型,可取值iphone/ipad/universal,iphone表示仅支持iphone设备,安装到iPad上将使用1x/2x模式运行;ipad表示仅支持ipad设备,此模式无法安装到iphone设备;universal表示使用兼容模式,可兼容在iphone和ipad设备上正常运行,各自安装设备的分辨率运行。

UIReserveStatusbarOffset
应用的区域是否预留系统状态栏位置(应用区域通顶到系统状态栏区域),仅iOS7及以上平台有效,Boolean类型,true表示预留系统状态栏位置(不通顶),false表示不预留系统状态栏位置(通顶),默认值为true。

UIStatusBarStyle
设置状态栏的样式,可取值UIStatusBarStyleBlackTranslucent/UIStatusBarStyleDefault/UIStatusBarStyleBlackOpaque,参考iOS平台设置系统状态栏样式及背景色

StatusBarBackground
设置状态栏的背景颜色,iOS7以上系统有效,支持#RRGGBB格式,参考iOS平台设置系统状态栏样式及背景色

UIBackgroundModes
设置应用是否支持后台模式,可取值“audio”表示支持后台播放音乐,参考iOS切换到后台支持音乐播放功能

urltypes
设置应用的url schemem,参考iOS平台通过UrlSchemes与第三方应用相互调用

frameworks
设置应用要应用的系统framework,在使用native.js时使用,通知App云端打包在编译应用时引用对于的系统framework库,以便native.js能成功调用其中的API。

Android平台打包配置信息

\n

在plus->distribute->google节点下保存Android平台打包配置信息,用于定义Android平台专用的应用特性。

packagename
应用的包名,使用反向域名格式,如io.dcloud.hbuilder

hardwareAccelerated
"Boolean类型,是否开启硬件加速,true表示开启,false表示关闭,参考Android平台配置硬件加速

custompermissions
Boolean类型,是否自定义android权限,true表示自定义权限,只使用permissions下指定的android权限,不根据用户使用的5+模块自动添加android权限,false表示自动根据用户使用的5+模块自动添加android权限。
参考Android平台指定程序使用的权限

permissions
字符串数组,要添加的Android权限列表。
参考Android平台指定程序使用的权限

schemes
字符串数据,程序需要向系统注册的urlscheme。
参考Android平台通过UrlSchemes与第三方应用相互调用

adid
广告联盟会员id,开发者向广告联盟后台申请后填写

theme
字符串,程序要使用的系统主题名称
参考Android配置应用主题皮肤

android:name
字符串,程序主入口类名,仅使用5+SDK二次扩展时用到


25 分享 关注
cike8899 jafu 合金弹头 你就浅浅一笑 起个网名想七天 Godwin 啊啊啊啊 20606881@qq.com 18761647971@163.com DCloud_客服_Trust studyy 霸王硬上车 1376821681@qq.com jtshushu noName ruogu 1224622183@qq.com 891024617@qq.com abiu 1931130013@qq.com houheaven 476144345@qq.com PeterLiu pangjv@yahoo.com 雪山虫
苛学加

苛学加

mark
0 赞 2018-10-23 01:32
SNOWWOLFJAY@foxmail.com

SNOWWOLFJAY@foxmail.com

这个能更新个完整的吗????好多新东西,没在里面的都不知道哪些能用
0 赞 2018-10-17 10:22
mui_js小白

mui_js小白

怎么隐藏版本号?
0 赞 2018-09-17 14:02
984855154@qq.com

984855154@qq.com

如何隐藏应用图标?
0 赞 2018-07-07 16:36
DCloud_App_Array

DCloud_App_Array 回复 李波

在plus节点下直接添加adid节点
0 赞 2018-05-21 11:20
李波

李波

我通过申请得到广告联盟会员id,将id填回到manifest中的adid节点,这个adid节点到底在哪?我看了半天还是没找到。请问adid节点到底在哪呢?
0 赞 2018-05-18 16:04
380868578@qq.com

380868578@qq.com

平台选择在哪里?找了半天都找不到,我想去掉iPad,在代码视图里把devices改为iphone之后打包发布时,还是需要我上传iPad的预览图
0 赞 2018-05-14 11:55
如果李

如果李 回复 WZ

请问你的解决没!
0 赞 2018-04-10 17:57
WZ

WZ 回复 chuyin

我也想问这个问题,兄弟解决了没有?求助...还有能不能在app一打开的时候就获取权限,还可以让用户自己设置为仅在使用期间开启的
0 赞 2017-12-11 17:12
toderson@163.com

toderson@163.com 回复 chuyin

现在解决了吗,我也碰到了这个问题审核不通过
0 赞 2017-08-30 10:19
世界太假

世界太假

这文档也太旧了吧,满满都是坑,我还是不跳了,等你们填好了再来
0 赞 2017-08-17 10:47
xiaolong881115@126.com

xiaolong881115@126.com

垃圾的一批
0 赞 2017-08-14 15:47
Lynch

Lynch 回复 追沐

Manifest.json 里面有一个配置webview权限的,这里面的description字段好像是必须的,我这几天好像也掉这个坑里了
"Webview":{
"description": "窗口管理"
},
1 赞 2017-07-25 14:51
a564167971@vip.qq.com

a564167971@vip.qq.com

"useragent": {
"value": "要设置的默认userAgent值",
"concatenate": true
},

concatenate无效。。。求解啊。。。。
0 赞 2017-05-31 16:50
vintrs@163.com

vintrs@163.com

这个文档写的真是太好了, 不用看自己就会配置了
1 赞 2017-05-09 11:43
chuyin

chuyin

插件按照你们的示例写好了权限描述"Geolocation": { "description": "访问位置信息" },可是呢用你们的在线云打包,生成的iOS中的iofo.plist文件权限说明里边NSLocationWhenInUseUsageDescription描述说明,根本不是这个描述,描述仅仅成了一个location英文单词,怎么回事?
0 赞 2017-04-15 09:17
2221684867@qq.com

2221684867@qq.com

为什么设置了应用图标不管用
2 赞 2017-02-23 16:23
dj_fourth@163.com

dj_fourth@163.com

平台选择怎么关掉iPad?为什么我这边没有平台选择这项?而且你这边的平台选择为啥没代码视图的截图?
0 赞 2017-02-23 11:38
付憷

付憷

我用hbuilder打包好了的ipa文件、要怎么才可以安装到手机上 ?
0 赞 2016-12-31 16:05
dengqianyi2008@163.com

dengqianyi2008@163.com 回复 dengqianyi2008@163.com

console.log("测试console.log");
plus.console.error("测试console.log");
补充下,我是这样写的代码,直接使用官方SDK里的测试工程测试的
0 赞 2016-11-30 20:24
dengqianyi2008@163.com

dengqianyi2008@163.com

"plus": {
"distribute":{
"debug":true
}
}
我这样设置了manifest.json,为啥在Android Studio的logcat里还是看不到log呢?难道必须使用HBuilder?
0 赞 2016-11-30 20:23
fromlx@126.com

fromlx@126.com

我后台使用个推的透传参数模板发通知,但是安卓手机端接收不到,receive我监听了这个也无效,是不是哪里要配置一下,接收广播的?
0 赞 2016-10-12 11:00
1365807985@qq.com

1365807985@qq.com 回复 hp100277

对呀 现在直接卡住了 用不了了,配置文档有问题咋配置
0 赞 2016-09-21 10:32
ch_dumb@163.com

ch_dumb@163.com

iOS离线打包求带,我配置啥的都按文档一步一步来的,就是运行不了
0 赞 2016-07-21 11:52
axelkk@163.com

axelkk@163.com

Manifest.json 设置name以后没有啊,手机上显示的项目名字还是Hbuilder
0 赞 2016-05-04 16:45
追沐

追沐

弹出框提示打包时未添加Webview模块,写h5的程序员说添加了。这是什么情况,哪里的问题,怎么解决?
0 赞 2016-02-19 14:08
hp100277

hp100277

配置页面的截图和HBuilder 6.9.2的不一致 需要更新下哦
2 赞 2016-01-25 10:53
苏禾然

苏禾然

文档该更新了
0 赞 2015-11-21 14:49
无敌无图

无敌无图

群号是多少
0 赞 2015-11-20 14:29
cszchong

cszchong

想问一下,app打包后,安装在手机上的时候,是否可以隐藏桌面的图标???
0 赞 2015-08-19 09:28
酱油

酱油

安卓设置了应用图标和启动界面为什么不好用?
0 赞 2015-06-04 19:46
lexang

lexang 回复 lexang

默认的插件选中了 但没appkey之类的 真操蛋 把选中的去掉就好了
0 赞 2015-04-03 12:23
lexang

lexang

打包的时候,提示APP打包参数不完整,也不知道哪里不完整,你们默认的实例程序,怎么办怎么办怎么办
1 赞 2015-04-03 12:21
Demo

Demo 回复 DCloud_App_Array

感谢!已解决,是图标路径问题,“C:\\...”而不是“C:\”。
0 赞 2015-03-25 20:24
DCloud_App_Array

DCloud_App_Array 回复 Demo

确认是否手动修改导致manifest.json文件格式错误
0 赞 2015-03-24 11:31
Demo

Demo

demo一直提示 提示APP打包参数不完整 ,求解,求拉群
0 赞 2015-03-23 22:26
深井冰_01

深井冰_01

加下我QQ 248590311吧
0 赞 2015-01-29 23:01
追踪幻想

追踪幻想

另外说一句我的系统是win7 64中文版,不知道和这个有没有关系
1 赞 2015-01-28 23:53
追踪幻想

追踪幻想

demo一直提示 提示APP打包参数不完整 而且群也满了,求开2群
0 赞 2015-01-28 23:53
222222

222222

发行的时候,提示APP打包参数不完整,也不知道哪里不完整,你们默认的实例程序,求你们留下Q做技术支持下
0 赞 2015-01-14 18:05
DCloud_App_Array

DCloud_App_Array

其它第三方插件必须使用5+ SDK进行插件开发:
[Android平台第三方插件开发指导](http://ask.dcloud.net.cn/article/66)
[IOS平台第三方插件开发指导](http://ask.dcloud.net.cn/article/67)
0 赞 2014-12-03 14:50
Android仲少

Android仲少

顶下 ,但是其他第三方插件怎么 插入??
0 赞 2014-11-30 16:15

要回复文章请先登录注册