manifest.md 6.0 KB
Newer Older
DCloud-yyl's avatar
DCloud-yyl 已提交
1 2 3
# manifest.json  
`manifest.json` 是 uni-app x 项目的配置文件,用于设置应用的名称、版本、图标等信息。在 HBuilderX 中创建项目时此文件保存在根目录。

W
x  
wanganxp 已提交
4 5
目前没有内置模块的手动选择功能。未来会提供编译器扫描代码自动摇树,引入或剔除不需要的内置模块。

DCloud-yyl's avatar
DCloud-yyl 已提交
6 7 8
## 配置项列表  
|属性		|类型					|默认值			|描述								|最低版本			|
|:-			|:-						|:-				|:-									|:-					|
DCloud-yyl's avatar
DCloud-yyl 已提交
9 10 11 12 13 14 15
|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				|
DCloud-yyl's avatar
DCloud-yyl 已提交
16 17 18

**注意**  
- `appid` 由 DCloud 云端分配,主要用于 DCloud 相关的云服务,请勿自行修改。[详见](https://ask.dcloud.net.cn/article/35907)
W
x  
wanganxp 已提交
19 20 21
- `uni-app-x` 节点必须存在,它是一个项目是否是 uni-app x项目的核心标识。
	* 缺少该节点时,HBuilderX 会把项目识别为 uni-app js引擎版项目(方形项目图标)。
	* 含有该节点时,HBuilderX中的项目图标是圆形的。
DCloud-yyl's avatar
DCloud-yyl 已提交
22 23 24 25 26 27 28


### UNI-APP-X配置@uniappx  
存在uni-app-x节点则表示为uni-app x项目  

|属性			|类型					|默认值			|描述								|最低版本			|
|:-				|:-						|:-				|:-									|:-					|
DCloud-yyl's avatar
DCloud-yyl 已提交
29
|flex-direction	|String					|column			|uvue页面默认flex排列方向,可取值:row:从左到右; row-reverse:从右到左;column:从上到下;column-reverse:与 column 相反|3.9.0				|
DCloud-yyl's avatar
DCloud-yyl 已提交
30 31 32 33 34 35 36


### APP配置@app  
App端(原生App)配置  

|属性			|类型					|默认值			|描述								|最低版本			|
|:-				|:-						|:-				|:-									|:-					|
DCloud-yyl's avatar
DCloud-yyl 已提交
37
|distribute		|[DISTRIBUTE配置](#distribute)	|-		|App端发布配置						|3.9.0				|
DCloud-yyl's avatar
DCloud-yyl 已提交
38 39 40 41 42 43 44


### DISTRIBUTE配置@distribute  
App端发布配置  

|属性			|类型					|默认值			|描述								|最低版本			|
|:-				|:-						|:-				|:-									|:-					|
45 46 47 48
|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				|
DCloud-yyl's avatar
DCloud-yyl 已提交
49 50


51 52 53 54 55 56 57 58 59
### ICONS配置@icons  
App端图标配置  

|属性			|类型					|默认值			|描述								|最低版本			|
|:-				|:-						|:-				|:-									|:-					|
|android		|[Android平台图标配置](#icons-android)|-	|App-Android端图标配置				|3.9.0				|

**注意**  
- App端图片相关配置,建议在HBuilderX中 manifest.json 的可视化界面操作,不推荐手动在源码视图中修改  
W
wanganxp 已提交
60
- manifest中只能配置一个icon。如需在应用发布后动态修改icon,可在插件市场搜索相关插件。
61 62 63 64 65 66 67 68 69 70

#### 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				|

DCloud-yyl's avatar
DCloud-yyl 已提交
71 72 73 74 75
### ANDROID配置@android  
App-Android端发布配置  

|属性			|类型					|默认值			|描述								|最低版本			|
|:-				|:-						|:-				|:-									|:-					|
76
|packagename	|String					|-				|Android包名						|3.9.0				|
DCloud-yyl's avatar
DCloud-yyl 已提交
77 78 79 80 81 82 83
|keystore		|String					|-				|证书库文件路径,相对于.manifest目录	|3.9.0				|
|storepwd		|String					|-				|证书库文件密码						|3.9.0				|
|aliasname		|String					|-				|证书别名							|3.9.0				|
|keypwd			|String					|-				|证书密码							|3.9.0				|
|abiFilters		|Array<String>			|-				|支持的CPU类型						|3.9.0				|
|minSdkVersion	|String					|-				|最低Android版本(Android API Level)|3.9.0				|
|targetSdkVersion	|String				|-				|目标版本(Android API Level)		|3.9.0				|
DCloud-yyl's avatar
DCloud-yyl 已提交
84 85 86 87 88

**注意**  
- `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)  
89
- `keystore``storepwd``aliasname``keypwd`为云端打包证书相关配置,在HBuilderX中提交云端打包时使用,不要手动修改  
DCloud-yyl's avatar
DCloud-yyl 已提交
90 91 92 93 94 95 96


### IOS配置@ios  
App-iOS端发布配置  

|属性			|类型					|默认值			|描述								|最低版本			|
|:-				|:-						|:-				|:-									|:-					|
DCloud-yyl's avatar
DCloud-yyl 已提交
97
|appid			|String					|-				|iOS Bundle ID						|3.9.0				|
DCloud-yyl's avatar
DCloud-yyl 已提交
98 99 100 101 102 103 104 105 106 107 108


## 示例  
```json
{
    "name" : "uni-app x",
    "appid" : "__UNI__XXXXXXX",
    "description" : "描述信息",
    "versionName" : "1.0.0",
    "versionCode" : "100",
    "uni-app-x":{
DCloud-yyl's avatar
DCloud-yyl 已提交
109
      "flex-direction": "column"  
DCloud-yyl's avatar
DCloud-yyl 已提交
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
    },
    "vueVersion" : "3",
	"app": {
		"distribute": {
			"syncDebug": true,
			"android": {
				"packagename": "Android包名",
				"abiFilters": [
					"armeabi-v7a","arm64-v8a"
				],
				"minSdkVersion": "21",
				"targetSdkVersion": "32"
			},
			"ios": {
				"appid": "iOS Bundle ID"
			}
		}
	}
}
```