提交 bb0e4bb5 编写于 作者: D DCloud_LXH

feat: uni-app-x manifest json

上级 51d2ef82
......@@ -5,6 +5,7 @@ let utsComJson = {};
let utsUnicloudApiJson = {};
let customTypeJson = {};
let vueJson = {};
let manifestJson = {};
try {
cssJson = require('../utils/cssJson.json');
} catch (error) {}
......@@ -26,6 +27,9 @@ try {
try {
vueJson = require('../utils/vueJson.json');
} catch (error) {}
try {
manifestJson = require('../utils/manifestJson.json');
} catch (error) {}
function getRegExp(key) {
......@@ -40,7 +44,7 @@ const getJSON = text => {
json: cssJson,
};
}
match = text.match(getRegExp('UTSJSON'));
if (match) {
return {
......@@ -48,7 +52,7 @@ const getJSON = text => {
json: utsJson,
};
}
match = text.match(getRegExp('UTSAPIJSON'));
if (match) {
return {
......@@ -89,6 +93,14 @@ const getJSON = text => {
};
}
match = text.match(getRegExp('MANIFESTJSON'));
if (match) {
return {
match,
json: manifestJson,
};
}
return {
match: null,
json: {},
......
{"manifest":{"table":"| 属性 | 类型 | 默认值 | 描述 | 最低版本 |\n| :- | :- | :- | :- | :- |\n| appid | string | - | [DCloud AppID 使用说明](https://ask.dcloud.net.cn/article/35907) | - |\n| name | string | - | 应用名称 | - |\n| description | string | - | 应用描述 | - |\n| versionName | string | - | 应用版本名称 | - |\n| versionCode | integer | - | 应用版本号,必须是整数,取值范围1~2147483647;升级时必须高于上一次设置的值。 | - |\n| locale | string | - | 默认语言<br/>`` | - |\n| fallbackLocale | string | - | 默认回退语言<br/>`` | - |\n| uni-app-x | [uni-app-x 配置项列表](#m-uni-app-x) | - | 存在uni-app-x节点则表示为uni-app x项目 | - |\n| app | [app 配置项列表](#m-app) | - | App端(原生App)配置 | - |","description":"[配置指南](http://uniapp.dcloud.io/manifest)"},"manifest_uni-app-x":{"table":"| 属性 | 类型 | 默认值 | 描述 | 最低版本 |\n| :- | :- | :- | :- | :- |\n| flex-direction | string | column | uvue页面默认flex排列方向<br/>`row` : 从左到右<br/>`row-reverse` : 从右到左<br/>`column` : 从上到下<br/>`column-reverse` : 与 column 相反 | - |","description":"存在uni-app-x节点则表示为uni-app x项目"},"manifest_app":{"table":"| 属性 | 类型 | 默认值 | 描述 | 最低版本 |\n| :- | :- | :- | :- | :- |\n| distribute | [distribute 配置项列表](#manifest-distribute) | - | App端发布配置 | - |","description":"App端(原生App)配置"},"app_distribute":{"table":"| 属性 | 类型 | 默认值 | 描述 | 最低版本 |\n| :- | :- | :- | :- | :- |\n| syncDebug | boolean | - | 是否为自定义调试基座 | - |\n| icons | [icons 配置项列表](#app-icons) | - | iOS、Android应用图标配置。云打包后生效,建议在HBuilderX中 manifest.json 的可视化界面操作,不推荐手动在源码视图中修改。 | - |\n| android | [android 配置项列表](#app-android) | - | App-Android端发布配置 | - |\n| ios | [ios 配置项列表](#app-ios) | - | IOS配置 | - |","description":"App端发布配置"},"distribute_icons":{"table":"| 属性 | 类型 | 默认值 | 描述 | 最低版本 |\n| :- | :- | :- | :- | :- |\n| android | [android 配置项列表](#distribute-android) | - | Android图标配置 | - |\n| ios | [ios 配置项列表](#distribute-ios) | - | iOS图标配置 | - |","description":"iOS、Android应用图标配置。云打包后生效,建议在HBuilderX中 manifest.json 的可视化界面操作,不推荐手动在源码视图中修改。"},"icons_android":{"table":"| 属性 | 类型 | 默认值 | 描述 | 最低版本 |\n| :- | :- | :- | :- | :- |\n| hdpi | string | - | 高分屏设备程序图标,分辨率要求72x72 | - |\n| xhdpi | string | - | 720P高分屏设备程序图标,分辨率要求96x96 | - |\n| xxhdpi | string | - | 1080P高分屏设备程序图标,分辨率要求144x144 | - |\n| xxxhdpi | string | - | 2K屏设备程序图标,分辨率要求192x192 | - |"},"icons_ios":{"table":"| 属性 | 类型 | 默认值 | 描述 | 最低版本 |\n| :- | :- | :- | :- | :- |\n| appstore | string | - | 提交app store使用的图标 1024x1024 | - |\n| iphone | [iphone 配置项列表](#icons-iphone) | - | iPhone图标配置 | - |\n| ipad | [ipad 配置项列表](#icons-ipad) | - | iPad图标配置 | - |"},"ios_iphone":{"table":"| 属性 | 类型 | 默认值 | 描述 | 最低版本 |\n| :- | :- | :- | :- | :- |\n| app@2x | string | - | iOS9.0+ 程序图标(2x) | - |\n| app@3x | string | - | iOS9.0+ 程序图标(3x) | - |\n| spotlight@2x | string | - | iOS9.0+ Spotlight图标(2x) | - |\n| spotlight@3x | string | - | iOS9.0+ Spotlight图标(3x) | - |\n| settings@2x | string | - | iOS9.0+ Settings设置图标(2x) | - |\n| settings@3x | string | - | iOS9.0+ Settings设置图标(3x) | - |\n| notification@2x | string | - | iOS9.0+ 通知栏图标(2x) | - |\n| notification@3x | string | - | iOS9.0+ 通知栏图标(3x) | - |"},"ios_ipad":{"table":"| 属性 | 类型 | 默认值 | 描述 | 最低版本 |\n| :- | :- | :- | :- | :- |\n| app | string | - | iOS9.0+ 程序图标 | - |\n| app@2x | string | - | iOS9.0+ 程序图标(2x) | - |\n| proapp@2x | string | - | iOS9.0+ 程序图标(3x) | - |\n| spotlight | string | - | iOS9.0+ Spotlight图标 | - |\n| spotlight@2x | string | - | iOS9.0+ Spotlight图标(2x) | - |\n| settings | string | - | iOS9.0+ Settings设置图标 | - |\n| settings@2x | string | - | iOS9.0+ Settings设置图标(2x) | - |\n| notification | string | - | iOS9.0+ 通知栏图标 | - |\n| notification@2x | string | - | iOS9.0+ 通知栏图标(2x) | - |"},"distribute_android":{"table":"| 属性 | 类型 | 默认值 | 描述 | 最低版本 |\n| :- | :- | :- | :- | :- |\n| minSdkVersion | integer | - | 应用兼容的最低Android版本(API等级);[参考文档](https://uniapp.dcloud.io/tutorial/app-android-minsdkversion) | - |\n| targetSdkVersion | integer | - | 应用适配的目标Android版本(API等级),部分应用市场要求设置较高的targetSdkVersion才能提交审核;[参考文档](https://uniapp.dcloud.io/tutorial/app-android-targetsdkversion) | - |\n| abiFilters | array | [\"arm64-v8a\",\"x86_64\"\\] | [参考文档](https://uniapp.dcloud.io/tutorial/app-android-abifilters) | - |","description":"App-Android端发布配置"},"distribute_ios":{"table":"| 属性 | 类型 | 默认值 | 描述 | 最低版本 |\n| :- | :- | :- | :- | :- |\n| appid | string | - | iOS Bundle ID | 3.9.0 |"}}
\ No newline at end of file
# manifest.json
# manifest.json
`manifest.json` 是 uni-app x 项目的配置文件,用于设置应用的名称、版本、图标等信息。在 HBuilderX 中创建项目时此文件保存在根目录。
目前没有内置模块的选择功能。虽然uni-app x的Android基础库体积是7M,但video库无法剥离会显得目前的apk更大。
未来会提供编译器扫描代码摇树,自动引入或剔除不需要的内置模块。
## 配置项列表
|属性 |类型 |默认值 |描述 |最低版本 |
|:- |:- |:- |:- |:- |
|name |String |- |应用名称 |3.9.0 |
|appid |String |- |应用标识,新建项目时DCloud云端分配 |3.9.0 |
|description|String |- |应用描述 |3.9.0 |
|versionName|String |- |版本名称,例如:1.0.0 |3.9.0 |
|versionCode|String |- |版本号,仅包含数字字符,例如:100 |3.9.0 |
|uni-app-x |[UNI-APP-X配置](#uniappx) |- |uni-app x项目配置 |3.9.0 |
|app |[APP配置](#app) |- |App项目(原生App端)配置 |3.9.0 |
**注意**
## 配置项列表
<!-- MANIFESTJSON.manifest.description -->
<!-- MANIFESTJSON.manifest.table -->
**注意**
- `appid` 由 DCloud 云端分配,主要用于 DCloud 相关的云服务,请勿自行修改。[详见](https://ask.dcloud.net.cn/article/35907)
- `uni-app-x` 节点必须存在,它是一个项目是否是 uni-app x项目的核心标识。
* 缺少该节点时,HBuilderX 会把项目识别为 uni-app js引擎版项目(方形项目图标)。
* 含有该节点时,HBuilderX中的项目图标是圆形的。
### UNI-APP-X配置 @m-uni-app-x
<!-- MANIFESTJSON.manifest_uni-app-x.description -->
<!-- MANIFESTJSON.manifest_uni-app-x.table -->
### UNI-APP-X配置@uniappx
存在uni-app-x节点则表示为uni-app x项目
### APP配置 @m-app
|属性 |类型 |默认值 |描述 |最低版本 |
|:- |:- |:- |:- |:- |
|flex-direction |String |column |uvue页面默认flex排列方向,可取值:row:从左到右; row-reverse:从右到左;column:从上到下;column-reverse:与 column 相反|3.9.0 |
<!-- MANIFESTJSON.manifest_app.description -->
<!-- MANIFESTJSON.manifest_app.table -->
### APP配置@app
App端(原生App)配置
|属性 |类型 |默认值 |描述 |最低版本 |
|:- |:- |:- |:- |:- |
|distribute |[DISTRIBUTE配置](#distribute) |- |App端发布配置 |3.9.0 |
#### DISTRIBUTE配置 @manifest-distribute
<!-- MANIFESTJSON.app_distribute.description -->
### DISTRIBUTE配置@distribute
App端发布配置
<!-- MANIFESTJSON.app_distribute.table -->
|属性 |类型 |默认值 |描述 |最低版本 |
|:- |:- |:- |:- |:- |
|syncDebug |Boolean |false |是否为自定义调试基座 |3.9.0 |
|icons |[ICONS配置](#icons) |- |App端应用图标配置 |3.9.0 |
|android |[ANDROID配置](#android)|- |App-Android端发布配置 |3.9.0 |
|ios |[IOS配置](#ios) |- |App-iOS端发布配置 |3.9.0 |
##### App端图标配置 @app-icons
### ICONS配置@icons
App端图标配置
<!-- MANIFESTJSON.distribute_icons.description -->
|属性 |类型 |默认值 |描述 |最低版本 |
|:- |:- |:- |:- |:- |
|android |[Android平台图标配置](#icons-android)|- |App-Android端图标配置 |3.9.0 |
<!-- MANIFESTJSON.distribute_icons.table -->
**注意**
- App端图片相关配置,建议在HBuilderX中 manifest.json 的可视化界面操作,不推荐手动在源码视图中修改
**注意**
- App端图片相关配置,建议在HBuilderX中 manifest.json 的可视化界面操作,不推荐手动在源码视图中修改
- manifest中只能配置一个icon。如需在应用发布后动态修改icon,可在插件市场搜索[动态图标插件](https://ext.dcloud.net.cn/search?q=%E5%8A%A8%E6%80%81%E5%9B%BE%E6%A0%87&orderBy=Relevance&cat1=8&cat2=81)
#### Android平台图标配置@icons-android
|属性 |类型 |默认值 |描述 |最低版本 |
|:- |:- |:- |:- |:- |
|hdpi |String |- |高分屏设备程序图标,分辨率要求72x72 |3.9.0 |
|xhdpi |String |- |720P高分屏设备程序图标,分辨率要求96x96 |3.9.0 |
|xxhdpi |String |- |1080P高分屏设备程序图标,分辨率要求144x144 |3.9.0 |
|xxxhdpi |String |- |2K屏设备程序图标,分辨率要求192x192 |3.9.0 |
### ANDROID配置@android
App-Android端发布配置
|属性 |类型 |默认值 |描述 |最低版本 |
|:- |:- |:- |:- |:- |
|packagename |String |- |Android包名 |3.9.0 |
|keystore |String |- |证书库文件路径,相对于.manifest目录 |3.9.0 |
|storepwd |String |- |证书库文件密码 |3.9.0 |
|aliasname |String |- |证书别名 |3.9.0 |
|keypwd |String |- |证书密码 |3.9.0 |
|abiFilters |String[] |- |应用支持的CPU类型 |3.9.0 |
|minSdkVersion |String |- |应用兼容的最低Android版本(Android API Level)|3.9.0 |
|targetSdkVersion |String |- |应用适配的目标目标版本(Android API Level) |3.9.0 |
**注意**
###### Android图标配置 @distribute-android
<!-- MANIFESTJSON.icons_android.description -->
<!-- MANIFESTJSON.icons_android.table -->
###### iOS图标配置 @distribute-ios
<!-- MANIFESTJSON.icons_ios.description -->
<!-- MANIFESTJSON.icons_ios.table -->
###### iPhone图标配置 @icons-iphone
<!-- MANIFESTJSON.ios_iphone.description -->
<!-- MANIFESTJSON.ios_iphone.table -->
###### iPad图标配置 @icons-ipad
<!-- MANIFESTJSON.ios_ipad.description -->
<!-- MANIFESTJSON.ios_ipad.table -->
##### ANDROID配置 @app-android
<!-- MANIFESTJSON.distribute_android.description -->
<!-- MANIFESTJSON.distribute_android.table -->
**注意**
- `abiFilters` 用于指定应用需要支持的CPU类型,字符串数组类型,字符串可取值"armeabi-v7a"、"arm64-v8a"、"x86"、"x86_64",默认值为["arm64-v8a","x86_64"]。
- `minSdkVersion` 用于指定应用运行所需最低 API 级别的整数。如果系统的 API 级别低于该属性中指定的值,Android 系统将阻止用户安装应用。
- `targetSdkVersion` 一个用于指定应用的目标 API 级别的整数。如果未设置,其默认值与为 minSdkVersion 指定的值相等。该值用于通知系统,您已针对目标版本进行了测试,并且系统不应通过启用任何兼容性行为,以保持您的应用与目标版本的向前兼容性。
- `minSdkVersion``targetSdkVersion` 设置的值是 API 级别(API Level),完整API级别信息请参考[Android API级别说明](https://developer.android.com/guide/topics/manifest/uses-sdk-element?hl=zh-cn#ApiLevels)
- `keystore``storepwd``aliasname``keypwd`为云端打包证书相关配置,在HBuilderX中提交云端打包时使用,不要手动修改
- `minSdkVersion` 用于指定应用运行所需最低 API 级别的整数。如果系统的 API 级别低于该属性中指定的值,Android 系统将阻止用户安装应用。
- `targetSdkVersion` 一个用于指定应用的目标 API 级别的整数。如果未设置,其默认值与为 minSdkVersion 指定的值相等。该值用于通知系统,您已针对目标版本进行了测试,并且系统不应通过启用任何兼容性行为,以保持您的应用与目标版本的向前兼容性。
- `minSdkVersion``targetSdkVersion` 设置的值是 API 级别(API Level),完整API级别信息请参考[Android API级别说明](https://developer.android.com/guide/topics/manifest/uses-sdk-element?hl=zh-cn#ApiLevels)
- `keystore``storepwd``aliasname``keypwd`为云端打包证书相关配置,在HBuilderX中提交云端打包时使用,不要手动修改
##### IOS配置 @app-ios
### IOS配置@ios
App-iOS端发布配置
<!-- MANIFESTJSON.distribute_ios.description -->
|属性 |类型 |默认值 |描述 |最低版本 |
|:- |:- |:- |:- |:- |
|appid |String |- |iOS Bundle ID |3.9.0 |
<!-- MANIFESTJSON.distribute_ios.table -->
## 示例
## 示例
```json
{
"name" : "uni-app x",
......@@ -109,7 +105,7 @@ App-iOS端发布配置
"versionName" : "1.0.0",
"versionCode" : "100",
"uni-app-x":{
"flex-direction": "column"
"flex-direction": "column"
},
"vueVersion" : "3",
"app": {
......@@ -130,4 +126,3 @@ App-iOS端发布配置
}
}
```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册