为客户网站做产品描述,ios系统开发,wordpress自定后台,东莞房价会涨吗Har模块文件结构 构建HAR
打包规则
开源HAR除了默认不需要打包的文件#xff08;build、node_modules、oh_modules、.cxx、.previewer、.hvigor、.gitignore、.ohpmignore#xff09;和.gitignore/.ohpmignore中配置的文件#xff0c;cpp工程的CMakeLists.txt#xff0c;…
Har模块文件结构 构建HAR
打包规则
开源HAR除了默认不需要打包的文件build、node_modules、oh_modules、.cxx、.previewer、.hvigor、.gitignore、.ohpmignore和.gitignore/.ohpmignore中配置的文件cpp工程的CMakeLists.txtbuildProfile.json5文件中配置的混淆相关文件其余文件都会被打进HAR包中。闭源HAR只会将特定的文件资源文件、配置文件、编译过程中使用的ets文件、readme和changelog等声明文件、license等证书文件打包HAR包中。
构建开源HAR
1. 修改新建HAR模块时生成的build-profile.json5默认模板将obfuscation下的enable字段改为false或删除整个obfuscation配置参数。
{apiType: stageMode,buildOption: {},buildOptionSet: [{name: release,arkOptions: {// 开源har相关参数obfuscation: {ruleOptions: {// true表示进行混淆false表示不进行混淆。默认为trueenable: false,]},// consumerFiles中指定的混淆配置文件会在构建依赖这个library的工程或library时被应用consumerFiles: [./consumer-rules.txt]}},},],targets: [{name: default}]
}
2. 对于开源har若部分工程源文件无需构建到HAR包中可在module目录下新建.ohpmignore文件配置打包时要忽略的文件支持正则表达式写法。将无需打包进HAR包的文件/文件夹名称写入.ohpmignore文件中。DevEco Studio构建时将过滤掉.ohpmignore文件中所包含的文件/文件夹。 3. 选中HAR模块的根目录点击Build Make Module module-name启动构建。 4. 构建完成后build目录下生成HAR包产物。 构建闭源HAR
DevEco Studio支持闭源HAR构建通过对代码进行编译混淆生成闭源HAR。在不共享源码的情况下通过闭源HAR对外提供组件、资源等可以实现多个模块或者多个工程共享组件、资源等。 1. 新建的HAR模块在编译模式为release模式时默认为构建闭源HAR即build-profile.json5文件中obfuscation下的enable字段为true。
{apiType: stageMode,buildOption: {},buildOptionSet: [{name: release,arkOptions: {// 闭源har相关参数obfuscation: {ruleOptions: {// true表示进行混淆false表示不进行混淆。默认为trueenable: true,// 混淆规则文件files: [./obfuscation-rules.txt]},// consumerFiles中指定的混淆配置文件会在构建依赖这个library的工程或library时被应用consumerFiles: [./consumer-rules.txt]}},},],targets: [{name: default}]
}
2. 选中HAR模块的根目录点击Build Make Module module-name启动构建。 3. 构建完成后build目录下生成HAR包产物。 根据工程特性mgplayer_hms 采用构建闭源HAR 的方式。
模块级build-profile.json5的示例如下所示
{apiType: stageMode, //API类型支持FA(faMode) 和 Stage(stageMode)模型showInServiceCenter: true, //是否在服务中心展示buildOption: { //配置项目在构建过程中使用的相关配置//配置筛选har依赖.so资源文件的过滤规则nativeLib: {filter: {//按照.so文件的优先级顺序打包最高优先级的.so文件pickFirsts: [**/1.so],//按照.so文件的优先级顺序打包最低优先级的.so文件pickLasts: [**/2.so],//排除的.so文件excludes: [**/3.so, //排除所有名称为“3”的so文件**/x86_64/*.so //排除所有x86_64架构的so文件],//允许当.so重名冲突时使用高优先级的.so文件覆盖低优先级的.so文件enableOverride: true}},sourceOption: { //使用不同的标签对源代码进行分类以便在构建过程中对不同的源代码进行不同的处理workers: []},//cpp相关编译配置externalNativeOptions: {path: ./src/main/cpp/CMakeLists.txt, //CMake配置文件提供CMake构建脚本arguments: , //传递给CMake的可选编译参数abiFilters: [ //用于设置本机的ABI编译环境arm64-v8a,x86_64],cppFlags: //设置C编译器的可选参数},//ArkTS编译配置arkOptions:{types:[] //配置d.ts/d.ets的相对路径或包名用于使用自定义的声明类型},},buildOptionSet: [ //buildOption的集合{name: release, //定义buildOption的名字取值有default、debug 和 release也可自定义arkOptions: {obfuscation: { //针对release模式下的配置ruleOptions: {enable: true, // 默认为truefiles: [ //混淆文件的相对路径./obfuscation-rules.txt]},consumerFiles: ./consumer-rules.txt //仅Static Library模块可配置默认导出的混淆规则}},debuggable: true, //定义编译模式是否为debugcopyFrom: release, //从指定的buildOption中复制相关配置resOptions: {},//cpp相关编译配置externalNativeOptions: {path: ./src/main/cpp/CMakeLists.txt, //CMake配置文件提供CMake构建脚本arguments: , //传递给CMake的可选编译参数abiFilters: [ //用于设置本机的ABI编译环境arm64-v8a,x86_64],cppFlags: //设置C编译器的可选参数},sourceOption: { //使用不同的标签对源代码进行分类以便在构建过程中对不同的源代码进行不同的处理workers: []},//配置筛选har依赖.so资源文件的过滤规则nativeLib: {filter: {//按照.so文件的优先级顺序打包最高优先级的.so文件pickFirsts: [**/1.so],//按照.so文件的优先级顺序打包最低优先级的.so文件pickLasts: [**/2.so],//排除的.so文件excludes: [**/3.so],//允许当.so重名冲突时使用高优先级的.so文件覆盖低优先级的.so文件enableOverride: true}},}],buildModeBinder: [ //构建模式与构建配置的关联配置,通过该配置可以将不同的构建配置和target进行组合并绑定到对应的构建模式上,其中构建模式需要在工程级别的构建模式列表中{buildModeName: debug,mappings: [ //构建模式绑定中的具体映射表描述的是target和构建配置的一对一的关系{targetName: default,buildOptionName: release}]}],targets: [ //定义的target开发者可以定制不同的target具体请参考配置多目标构建产物章节{name: default,},{name: ohosTest,} ]
}