
一、配置文件整体结构
app
├── signingConfigs
│ └── name / material / type
├── products
│ ├── name / signingConfig / bundleName / buildOption
│ ├── compatibleSdkVersion / targetSdkVersion / compileSdkVersion
│ ├── runtimeOS / arkTSVersion / bundleType / label / icon
│ ├── versionCode / versionName / buildVersion / vendor
│ └── resource / output
├── buildModeSet
│ └── name / buildOption
├── multiProjects
├── capabilities
│ ├── bundleName
│ └── config
│ ├── name / capability
│ └── subCapabilities
└── ...
modules
└── name / srcPath / targets
└── name / applyToProducts
二、app字段
2.1 主要子字段
| 字段名称 |
类型 |
可选/必选 |
含义 |
| signingConfigs |
对象数组 |
可选 |
签名方案信息,可配置多个 |
| products |
对象数组 |
可选 |
产品品类,可配置多个(需存在name为"default"的product) |
| buildModeSet |
对象数组 |
可选 |
构建模式集合,可配置多个 |
| multiProjects |
布尔值 |
可选 |
当前工程是否支持多工程构建,默认false |
| capabilities |
对象数组 |
可选 |
应用开通的开放能力(6.0.0 Beta5+) |
2.2 signingConfigs(签名配置)
| 字段 |
类型 |
含义 |
| name |
字符串 |
签名方案名称,仅支持数字和字母 |
| type |
字符串 |
签名类型:HarmonyOS / OpenHarmony |
| material |
对象 |
签名材料(证书、密码等) |
material字段:
| 字段 |
含义 |
| storePassword |
密钥库密码(密文) |
| certpath |
证书文件地址(.cer) |
| keyAlias |
密钥别名 |
| keyPassword |
密钥密码(密文) |
| profile |
Profile文件地址(.p7b) |
| signAlg |
签名算法(SHA256withECDSA) |
| storeFile |
密钥库文件地址(.p12) |
2.3 products(产品配置)
| 字段 |
类型 |
含义 |
| name |
字符串 |
产品名称(必须存在"default") |
| signingConfig |
字符串 |
签名方案名称 |
| bundleName |
字符串 |
产品包名 |
| compatibleSdkVersion |
字符串/数值 |
兼容的最低SDK版本 |
| targetSdkVersion |
字符串/数值 |
目标SDK版本 |
| compileSdkVersion |
字符串/数值 |
编译使用的SDK版本 |
| runtimeOS |
字符串 |
运行环境:HarmonyOS / OpenHarmony |
| arkTSVersion |
字符串 |
ArkTS语法检查工具版本:1.0 / 1.1 |
| bundleType |
字符串 |
包类型:app / atomicService / shared |
| label |
字符串 |
应用名称 |
| icon |
字符串 |
应用图标 |
| versionCode |
整型 |
版本号 |
| versionName |
字符串 |
版本名称 |
| buildVersion |
字符串 |
构建版本号(6.1.0 Beta2+) |
| resource |
对象 |
名称和图标对应的资源目录 |
| output |
对象 |
定制产品生成的应用包名称 |
| buildOption |
对象 |
产品编译构建配置 |
注意:
2.4 buildModeSet(构建模式集合)
| 字段 |
含义 |
| name |
构建模式名称(默认debug、release、test) |
| buildOption |
构建模式使用的具体配置信息 |
2.5 capabilities(开放能力)
| 字段 |
含义 |
| bundleName |
开放能力归属的包名 |
| config |
具体的开放能力配置(name、capability、subCapabilities) |
三、modules字段
modules是一个对象数组,描述工程中包含的所有模块。
| 字段 |
类型 |
含义 |
| name |
字符串 |
模块名称,需与module.json5中的module.name保持一致 |
| srcPath |
字符串 |
模块源码路径(相对路径) |
| targets |
对象数组 |
模块的target信息,用于定制多目标构建产物 |
targets:
| 字段 |
含义 |
| name |
target名称 |
| applyToProducts |
target关联的product(HAR模块无需配置) |
四、buildOption字段
buildOption可在buildModeSet、products和模块级build-profile.json5中配置。
4.1 packOptions(打包配置)
| 字段 |
类型 |
含义 |
| buildAppSkipSignHap |
布尔值 |
构建APP时是否跳过生成签名HAP,默认false |
| fastBuildApp |
布尔值 |
是否不生成HAP/HSP直接生成APP,默认false |
| enableSourceCodeCheck |
布尔值 |
是否检查产物中的源码文件,默认true |
| deduplicateHar |
布尔值 |
是否去除HSP中重复的HAR(6.0.1 Beta1+) |
| appWithSignedPkg |
布尔值 |
是否额外生成带签名HAP/HSP的app包(6.0.2 Beta1+) |
| enableIncrementalSoCompress |
布尔值 |
是否开启so增量压缩(6.1.0 Beta1+) |
4.2 resOptions(资源编译配置)
| 字段 |
含义 |
| compression |
图片资源纹理压缩配置 |
| resCompileThreads |
资源编译线程数(最小1,最大CPU核数) |
| copyCodeResource |
src/main/ets下非源码文件拷贝配置 |
| ignoreResourcePattern |
根据glob语法过滤资源文件 |
| excludeHarRes |
指定不参与资源编译的三方HAR包 |
| includeAppScopeRes |
编译HSP时是否打包AppScope资源,默认true |
| idDefinedFilePath |
HAR去重时固定资源id的json5文件路径 |
copyCodeResource:
| 字段 |
含义 |
| enable |
是否打包非源码文件,默认true |
| includes |
指定打包的资源文件 |
| excludes |
指定不打包的资源文件 |
注意:src/main/ets目录下非.ets/.ts/.js文件会被当作资源文件打包,不混淆不加密。
4.3 arkOptions(ArkTS编译配置)
| 字段 |
含义 |
| buildProfileFields |
自定义构建配置(key/value) |
| types |
自定义类型(包名或d.ts路径) |
| tscConfig |
TS语法编译配置(targetESVersion、maxFlowDepth等) |
| autoLazyImport |
是否自动添加lazy关键字,默认false |
| autoLazyFilter |
自定义添加lazy关键字的模块 |
| reExportCheckMode |
lazy import重新导出检查模式(noCheck/compatible/strict) |
| branchElimination |
是否启用代码分支裁剪,默认false |
| skipOhModulesLint |
是否跳过oh_modules的ArkTS规则检查 |
| expandImportPath |
import路径展开配置 |
tscConfig:
| 字段 |
默认值 |
| targetESVersion |
ES2021 |
| maxFlowDepth |
2000 |
| tsImportSoCheck |
false(26.0.0 Beta1+) |
expandImportPath:
| 字段 |
含义 |
| enable |
是否启用import路径展开,默认false |
| exclude |
指定不展开import语句的依赖 |
4.4 strictMode(严格模式)
| 字段 |
含义 |
| noExternalImportByPath |
是否严格检查绝对/跨模块导入 |
| useNormalizedOHMUrl |
是否使用标准化OHMUrl格式 |
| caseSensitiveCheck |
是否严格校验大小写 |
| duplicateDependencyCheck |
是否校验HSP依赖相同的HAR |
| harLocalDependencyCheck |
是否对HAR产物启用本地依赖校验 |
| enableStrictCheckOHModule |
是否严格校验远程HAR/HSP参数类型 |
| disableSendableCheckRules |
指定关闭校验的Sendable规则 |
| strictCheckerOnly |
是否仅执行严格语法检查(6.1.1 Release+) |
| apiCompatibilityCheck |
ArkTS API兼容性检测级别(warn/error) |
注意:useNormalizedOHMUrl需与依赖的HAR/HSP保持一致,同时配置为true或false。
4.5 其他buildOption字段
| 字段 |
含义 |
| debuggable |
是否可调试模式 |
| generateSharedTgz |
编译HSP时是否生成tgz包 |
| nativeCompiler |
Native编译器:Original / BiSheng |
| removePermissions |
删除依赖包中的冗余权限 |
| preloadSystemSo |
是否收集系统so预加载(6.0.0 Beta3+) |
所有评论(0)