该文章或问题已被删除

移动APP配置文件 manifest.json 讲解 (附视频)



Manifest.json文件是5+移动App的配置文件,用于指定应用的显示名称、图标、应用入口文件地址及需要使用的设备权限等信息,用户可通过HBuilder的可视化界面视图或者源码视图来配置5+移动App的信息。

Manifest.json文件根据w3c的webapp规范制定,plus节点下内容为HTML5Plus扩展规范,其下包括iOS和Android子节点,内容来源分别为iOS和Android原生打包所要求的参数,用于对5+移动App打包为ipa或apk安装包进行配置。

manifest.json 默认生成的格式 

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

{
    "@platforms": ["android", "iPhone", "iPad"],
    "id": "H564C0665",/*应用的标识,创建应用时自动生成,勿手动修改*/
    "name": "你好啊",/*应用名称,程序桌面图标名称*/
    "version": {
        "name": "1.0",/*应用版本名称*/
        "code": "83" /*"必选,版本代号,填写数值,随便填写,每一个新版本数值要比之前的大,上架安卓市场,很多是根据它来判断版本号的"*/
    },
    "description": "",/*应用描述信息*/
    "icons": {
        "72": "icon.png"  /*"可选,应用图标的路径,可以放多种分辨率"*/
    },
    "launch_path": "index.html",/*应用的入口页面,默认为根目录下的index.html;支持网络地址,必须以http://或https://开头*/
    "developer": {
        "name": "",/*开发者名称*/
        "email": "",/*开发者邮箱地址*/
        "url": ""/*开发者个人主页地址*/
    },
    "permissions": {
        "Messaging":{
        	"description": "短彩邮件插件"
        },
        "Cache": {
            "description": "管理应用缓存"
        },
        "Console": {
            "description": "跟踪调试输出日志"
        },
        "Contacts": {
            "description": "访问系统联系人信息"
        },
        "Events": {
            "description": "应用扩展事件"
        },
        "Maps": {
            "description": "管理地图插件"
        },
        "Speech": {
            "description": "管理语音识别插件"
        }
    },
    "plus": {
        "splashscreen": {
            "autoclose": true,/*是否自动关闭程序启动界面,true表示应用加载应用入口页面后自动关闭;false则需调plus.navigator.closeSplashscreen()关闭*/
            "waiting": true/*是否在程序启动界面显示等待雪花,true表示显示,false表示不显示。*/
        },
        "popGesture": "close",/*设置应用默认侧滑返回关闭Webview窗口,"none"为无侧滑返回功能,"hide"为侧滑隐藏Webview窗口。参考http://ask.dcloud.net.cn/article/102*/
        "runmode": "normal",/*应用的首次启动运行模式,可取liberate或normal,liberate模式在第一次启动时将解压应用资源(Android平台File API才可正常访问_www目录)*/
        "signature": "Sk9JTiBVUyBtYWlsdG86aHIyMDEzQGRjbG91ZC5pbw==",/*可选,保留给应用签名,暂不使用*/
        "distribute": {
            "apple": {
                "appid": "",/*iOS应用标识,苹果开发网站申请的appid,如io.dcloud.HelloH5*/
                "mobileprovision": "",/*iOS应用打包配置文件*/
                "password": "",/*iOS应用打包个人证书导入密码*/
                "p12": "",/*iOS应用打包个人证书,打包配置文件关联的个人证书*/
                "devices": "universal",/*iOS应用支持的设备类型,可取值iphone/ipad/universal*/
                "frameworks":[
                ]/*调用Native.js调用原生Objective-c API需要引用的FrameWork,如需调用GameCenter,则添加"GameKit.framework"*/
            },
            "google": {
                "packagename": "",/*Android应用包名,如io.dcloud.HelloH5*/
                "keystore": "",/*Android应用打包使用的密钥库文件*/
                "password": "",/*Android应用打包使用密钥库中证书的密码*/
                "aliasname": "",/*Android应用打包使用密钥库中证书的别名*/
               "permissions": ["<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>","<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>","<uses-permission android:name="android.permission.READ_CONTACTS"/>","<uses-permission android:name="android.permission.VIBRATE"/>","<uses-permission android:name="android.permission.READ_LOGS"/>","<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>","<uses-feature android:name="android.hardware.camera.autofocus"/>","<uses-permission android:name="android.permission.WRITE_CONTACTS"/>","<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>","<uses-permission android:name="android.permission.CAMERA"/>","<uses-permission android:name="android.permission.RECORD_AUDIO"/>","<uses-permission android:name="android.permission.GET_ACCOUNTS"/>","<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>","<uses-permission android:name="android.permission.READ_PHONE_STATE"/>","<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>","<uses-permission android:name="android.permission.WAKE_LOCK"/>","<uses-permission android:name="android.permission.CALL_PHONE"/>","<uses-permission android:name="android.permission.FLASHLIGHT"/>","<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>","<uses-feature android:name="android.hardware.camera"/>","<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>","<uses-permission android:name="android.permission.WRITE_SETTINGS"/>"]
				/*使用Native.js调用原生安卓API需要使用到的系统权限*/
            },
            "orientation": [
                "portrait-primary"
            ],/*应用支持的方向,portrait-primary:竖屏正方向;portrait-secondary:竖屏反方向;landscape-primary:横屏正方向;landscape-secondary:横屏反方向*/
            "icons": {
                "ios": {
                    "prerendered": true, /*应用图标是否已经高亮处理,在iOS6及以下设备上有效*/
                    "auto": "", /*应用图标,分辨率:512x512,用于自动生成各种尺寸程序图标*/
                    "iphone": {
                        "normal": "", /*iPhone3/3GS程序图标,分辨率:57x57*/
                        "retina": "", /*iPhone4程序图标,分辨率:114x114*/
                        "retina7": "", /*iPhone4S/5/6程序图标,分辨率:120x120*/
			"retina8": "", /*iPhone6 Plus程序图标,分辨率:180x180*/
                        "spotlight-normal": "", /*iPhone3/3GS Spotlight搜索程序图标,分辨率:29x29*/
                        "spotlight-retina": "", /*iPhone4 Spotlight搜索程序图标,分辨率:58x58*/
                        "spotlight-retina7": "", /*iPhone4S/5/6 Spotlight搜索程序图标,分辨率:80x80*/
                        "settings-normal": "", /*iPhone4设置页面程序图标,分辨率:29x29*/
                        "settings-retina": "", /*iPhone4S/5/6设置页面程序图标,分辨率:58x58*/
			"settings-retina8": "" /*iPhone6Plus设置页面程序图标,分辨率:87x87*/
                    },
                    "ipad": {
                        "normal": "", /*iPad普通屏幕程序图标,分辨率:72x72*/
                        "retina": "", /*iPad高分屏程序图标,分辨率:144x144*/
                        "normal7": "", /*iPad iOS7程序图标,分辨率:76x76*/
                        "retina7": "", /*iPad iOS7高分屏程序图标,分辨率:152x152*/
                        "spotlight-normal": "", /*iPad Spotlight搜索程序图标,分辨率:50x50*/
                        "spotlight-retina": "", /*iPad高分屏Spotlight搜索程序图标,分辨率:100x100*/
                        "spotlight-normal7": "",/*iPad iOS7 Spotlight搜索程序图标,分辨率:40x40*/
                        "spotlight-retina7": "",/*iPad iOS7高分屏Spotlight搜索程序图标,分辨率:80x80*/
                        "settings-normal": "",/*iPad设置页面程序图标,分辨率:29x29*/
                        "settings-retina": "" /*iPad高分屏设置页面程序图标,分辨率:58x58*/
                    }
                },
                "android": {
                    "mdpi": "", /*普通屏程序图标,分辨率:48x48*/
                    "ldpi": "", /*大屏程序图标,分辨率:48x48*/
                    "hdpi": "", /*高分屏程序图标,分辨率:72x72*/
                    "xhdpi": "",/*720P高分屏程序图标,分辨率:96x96*/
                    "xxhdpi": ""/*1080P 高分屏程序图标,分辨率:144x144*/
                }
            },
            "splashscreen": {
                "ios": {
                    "iphone": {
                        "default": "", /*iPhone3启动图片选,分辨率:320x480*/
                        "retina35": "",/*3.5英寸设备(iPhone4)启动图片,分辨率:640x960*/
                        "retina40": "",/*4.0 英寸设备(iPhone5/iPhone5s)启动图片,分辨率:640x1136*/
                        "retina47": "",/*4.7 英寸设备(iPhone6)启动图片,分辨率:750x1334*/
                        "retina55": "",/*5.5 英寸设备(iPhone6 Plus)启动图片,分辨率:1242x2208*/
                        "retina55l": ""/*5.5 英寸设备(iPhone6 Plus)横屏启动图片,分辨率:2208x1242*/
                    },
                    "ipad": {
                        "portrait": "", /*iPad竖屏启动图片,分辨率:768x1004*/
                        "portrait-retina": "",/*iPad高分屏竖屏图片,分辨率:1536x2008*/
                        "landscape": "", /*iPad横屏启动图片,分辨率:1024x748*/
                        "landscape-retina": "", /*iPad高分屏横屏启动图片,分辨率:2048x1496*/
                        "portrait7": "", /*iPad iOS7竖屏启动图片,分辨率:768x1024*/
                        "portrait-retina7": "",/*iPad iOS7高分屏竖屏图片,分辨率:1536x2048*/
                        "landscape7": "", /*iPad iOS7横屏启动图片,分辨率:1024x768*/
                        "landscape-retina7": ""/*iPad iOS7高分屏横屏启动图片,分辨率:2048x1536*/
                    }
                },
                "android": {
                    "mdpi": "", /*普通屏启动图片,分辨率:240x282*/
                    "ldpi": "", /*大屏启动图片,分辨率:320x442*/
                    "hdpi": "", /*高分屏启动图片,分辨率:480x762*/
                    "xhdpi": "", /*720P高分屏启动图片,分辨率:720x1242*/
                    "xxhdpi": ""/*1080P高分屏启动图片,分辨率:1080x1882*/
                }
            }
        }
    },
,  
	"dependencies":{   /*页面引入关系,不用理它,自动生成的*/
		"pages": {
			"index.html": {
				"href": "index.html",
				"priority": 0
			}
		},
		"idle": {}
	}
}

 以上是Manifest.json 生成的是默认的配置项:介绍下比较常用一些额外配置,Manifest.json 配置是全局的,针对整个APP生效

在节点“plus”下配置

当设置"immersed": "supportedDevice" 都是沉浸式状态栏状态,就是手机状态栏那一点位置,也被应用点用

"statusbar": {
            "immersed": "none|suggestedDevice|supportedDevice,沉浸式状态栏情况",
            "style": "dark|light, 系统状态栏样式",
            "background": "#RRGGBB格式字符串,系统状态栏背景颜色"
        }
"popGesture": "close", /*对IOS有用,是否开启右滑关闭页面*/
 "error": {
          "url": "error.html"  /*设置页面出错时,显示的错误404页面*/
        }
"allowsInlineMediaPlayback": true /*对IOS应用有效, 当需要用到VIDEO播放时,设置不让视频自动弹出播放*/

"google": {
"schemes": "appname" /*对安卓有效,给APP起个别名,用于第三方应用可以根据这个调起应用*/
"hardwareAccelerated":true /*对安卓有效, 开启硬件加速, 当你的应用需要用到视频播放时,需要开启这个,也可以单个页面开启*/
}

/*针对IOS有效*/
"apple": {
                "urltypes": [
                    {
                        "urlidentifier": "com.xxxx.xxxx", /*APP包名*/
                        "urlschemes": [
                            "appname"  /*APP别名*/
                        ]
                    }
                ],    /*IOS应用权限配置*/
                "plistcmds": [
                    "Set :NSContactsUsageDescription 需要您同意才能获得您的通信录,获得通信录用于获取关联相关好友 允许吗?",
                    "Set :NSMicrophoneUsageDescription 需要您同意才能录音发语音消息,允许吗?",
                    "Set :NSPhotoLibraryUsageDescription 需要您同意才能获取到相册照片,照片用于发布信息,允许吗?",
                    "Set :NSCameraUsageDescription 需要您同意才能扫一扫商品或拍摄其他照片,允许吗?",
                    "Set :NSPhotoLibraryAddUsageDescription 需要您同意才能添加相片到图库,允许吗?",
                    "Set :NSLocationAlwaysUsageDescription 需要您同意才能获得您的地理位置,为您更便捷获得您所在城市的资讯,允许吗?",
                    "Set :NSLocationWhenInUseUsageDescription 获得地理位置,为您更便捷获得你所在城市的资讯,允许吗?"
                ]
            }

 配置需要,根据应用实际情况,需要用到那些,配置那些

 

视频播放


点赞 1      收藏 0

0 个评论

正在加载...

这里空空如也,快来补一刀!

加载更多

回答问题或评论文章请先 或者 注册