当前位置: 首页 > news >正文

【有搜必应】HarmonyOS 热搜技术问题解析第五期

【有搜必应】HarmonyOS 热搜技术问题解析第五期

本文原创发布在华为开发者联盟社区,欢迎前往原帖【有搜必应】HarmonyOS TOP5热搜技术问题解析第五期,直接与知识贡献者进行交流。

本期热搜揭秘:

【编译工具】通过 build haps 编译生成的 HAP 包,应如何安装?

【ArkWeb】WebView 如何拦截特定域名的请求?

【ArkUI】layoutWeight如何实现宽度拉伸?

【系统】从 Windows 11 的 IPSec 第二层隧道协议(L2TP/IPsec)切换到鸿蒙系统后,应选择哪一种协议?

【编译工具】modelVersion、targetSdkVersion、compatibleSdkVersion 分别是什么意思?

期待您在论坛中继续发声:无论是提出新的疑惑、发表见解、或分享实战经验,都会为鸿蒙社区注入前行的力量,也是让我们做得更好的动力!若您存在疑惑,可使用社区-问答-"我要提问题"进行提问。问答专区-华为/鸿蒙开发者论坛

往期问题回顾:

【有搜必应】HarmonyOS 热搜技术问题解析第一期

【有搜必应】HarmonyOS 热搜技术问题解析第二期

【有搜必应】HarmonyOS 热搜技术问题解析第三期

【有搜必应】HarmonyOS 热搜技术问题解析第四期

问题一:通过 build haps 编译生成的 HAP 包,应如何安装?

通过 build haps 编译生成的 HAP 包,应如何安装?

解决方案:

场景一:单HAP包或HSP包安装

  • 如果使用的是模拟器,直接把HAP包拖动到模拟器中即可完成安装。
  • 如果使用的是真机,可以使用以下方式进行安装:
  1. 使用hdc应用管理命令命令,例如:

# 安装一个HAP
hdc install E:\example.hap

# 安装一个HSP
hdc install E:\example.hsp

2. 使用bm工具来进行安装,例如:

# 安装一个HAP
bm install -p /data/app/ohos.app.hap
# 覆盖安装一个HAP
bm install -p /data/app/ohos.app.hap -r
# 安装一个应用间共享库
bm install -s xxx.hsp

使用DevEco Testing工具,连接真机后,选择实用工具,点击开始投屏,点击右侧安装应用即可选择HAP包进行安装。

场景二:多个HAP包或HSP包同时安装

  • 如果包含的HAP和HSP包不多,可以使用命令依次安装,但需要注意先安装HSP包再安装HAP包。
  • 如果包多的情况,可以使用bm install [-p filePath]命令同时安装HAP和应用内共享库。

# 同时安装HAP和应用内共享库
bm install -p /data/app/

简化安装步骤,可以将签名后的hap与应用内共享库hsp放在同一目录下,执行脚本安装,脚本实现参考:

@echo off
setlocal EnableDelayedExpansion
set current_dir=%~dp0
echo %current_dir%
hdc shell rm -rf data/local/tmp/421e6d0e2f3d4c709f77e43e8c57cfb3
hdc shell mkdir data/local/tmp/421e6d0e2f3d4c709f77e43e8c57cfb3
for /r "%current_dir%" %%i in (*.hsp *.hap) do (
echo %%~nxi
echo %%i
hdc file send %%i "data/local/tmp/421e6d0e2f3d4c709f77e43e8c57cfb3/%%~nxi"
)
hdc shell bm install -p data/local/tmp/421e6d0e2f3d4c709f77e43e8c57cfb3
hdc shell rm -rf data/local/tmp/421e6d0e2f3d4c709f77e43e8c57cfb3
echo Install Done!
@pause

如果HSP是应用间共享库,可使用bm install [-p filePath] [-s hspDirPath]命令同时安装HAP和应用间共享库。

# 同时安装使用方应用和其依赖的应用间共享库
bm install -p aaa.hap -s xxx.hsp yyy.hsp

原链接:通过 build haps 编译生成的 HAP 包,应如何安装?

问题二:WebView 如何拦截特定域名的请求?

WebView 如何拦截特定域名的请求?

解决方案:

【背景知识】

Web组件:提供具有网页显示能力的Web组件,@ohos.web.webview提供Web控制能力。

【参考方案】:

可参考网页访问拦截示例,使用Web组件实现特定网页访问拦截。

  1. 通过Web组件的onLoadIntercept事件,在加载网页前触发拦截判断。
  2. 根据canUrlAccess方法判断是否能访问目标网址,如果禁止访问该网址,则跳转至拦截页。

Web({ src: this.url, controller: this.controller })
.onLoadIntercept((event) => {
let url = event.data.getRequestUrl(); // 获取访问目标网址
if (UrlUtils.canUrlAccess(url)) { // 判断是否能够访问该url
return false;
} else {
this.controller.loadUrl($rawfile('blocked.html')); // 禁止访问,则跳转至拦截页
return true;
}
})

原链接:WebView 如何拦截特定域名的请求?

问题三:layoutWeight如何实现宽度拉伸?

layoutWeight如何实现宽度拉伸?

解决方案:

【背景知识】
layoutWeight
(value: number | string):设置组件的布局权重,使组件在父容器(Row/Column/Flex)的主轴方向按照权重分配尺寸。

  • 父容器尺寸确定时,不设置layoutWeight属性或者layoutWeight属性生效值为0的元素优先占位,这些元素占位后在主轴留下的空间称为主轴剩余空间。设置了layoutWeight属性且layoutWeight属性生效值大于0的子元素会从主轴剩余空间中按照各自所设置的权重占比分配尺寸,分配时会忽略元素本身的尺寸设置。
  • 仅在Row/Column/Flex布局中生效。
  • 如果容器中有子元素设置了layoutWeight属性,且设置的属性值大于0,则所有子元素不会再基于flexShrink和flexGrow布局。

【解决方案】
在HarmonyOS开发中,Row、Column和Flex支持通过layoutWeight
属性动态调整子元素尺寸占比的核心容器,适用于需要灵活布局的场景:

  • Row容器:水平布局(从左到右),通过layoutWeight设置子元素在水平方向的占比。

Row() {
Button('左侧').layoutWeight(2) // 占据2/3宽度
Button('右侧').layoutWeight(1) // 占据1/3宽度
}

  • Column容器:垂直布局(从上到下),通过layoutWeight设置子元素在垂直方向的占比。

Column() {
Text('顶部').layoutWeight(1) // 占据1/2高度
Text('底部').layoutWeight(1) // 占据1/2高度
}

  • Flex容器:结合layoutWeight实现多维比例分配(如水平、垂直或混合方向)。

Flex({ direction: FlexDirection.Row }) {
Text('左').layoutWeight(3) // 水平方向占比3/5
Text('右').layoutWeight(2) // 水平方向占比2/5
}

原链接:layoutWeight如何实现宽度拉伸?

问题四:从 Windows 11 的 IPSec 第二层隧道协议(L2TP/IPsec)切换到鸿蒙系统后,应选择哪一种协议?

针对鸿蒙系统的VPN 原先WIN11的IPsec 的第二层隧道协议(L2TP/IPsec),切换为鸿蒙之后应该是选择哪一个

解决方案:

切换HarmonyOS可以选择添加 L2TP/IPSec PSK 或者 L2TP/IPSec RSA替代L2TP/IPSec。

【背景知识】
VPN,即虚拟专用网络(Virtual Private Network),是在公用网络上建立专用网络的一种技术。在VPN网络中,任意两个节点间的连接并非依赖传统专用网络所需要的端到端的物理链路,而是构建在公用网络服务商提供的平台(如Internet)之上的逻辑网络。用户数据在这一逻辑链路中进行传输。

【解决方案】
VPN功能支持以下几种协议:

  • IKEv2/IPSec MSCHAPv2
  • IKEv2/IPSec PSK
  • IKEv2/IPSec RSA
  • L2TP/IPSec PSK
  • L2TP/IPSec RSA
  • IPSec Xauth PSK
  • IPSec Xauth RSA
  • IPSec Hybrid RSA
  • OpenVpn

查看路径如下:
手机系统设置->VPN->添加VPN网络->类型。 选择L2TP/IPSec PSK 或者 L2TP/IPSec RSA。

原链接:从 Windows 11 的 IPSec 第二层隧道协议(L2TP/IPsec)切换到鸿蒙系统后,应选择哪一种协议?

问题五:modelVersion、targetSdkVersion、compatibleSdkVersion分别是什么意思?

modelVersion、targetSdkVersion、compatibleSdkVersion分别是什么意思?

解决方案:

modelVersion

含义:标识开发态版本号(即当前开发环境使用的 DevEco Studio 配套工具版本)。

说明:

  • 该字段与开发工具的版本严格对应,例如 DevEco Studio 6.0.0.858 配套的 modelVersion 值为 6.0.0。
  • 主要用于工具链兼容性校验,开发者无需手动修改。

compatibleSdkVersion

含义:标识应用/元服务运行所需兼容的最低SDK版本,应用/元服务不能安装在低于该版本的设备。当前支持的版本参考所有HarmonyOS版本。相关字段与应用兼容性关系参见应用兼容性说明。

说明:

  • 运行环境是HarmonyOS时,字段类型是字符串,配置示例:"compatibleSdkVersion": "6.0.0(20)"。
  • 运行环境是OpenHarmony时,字段类型是数值,配置示例:"compatibleSdkVersion": 20。

targetSdkVersion

含义:标识应用/元服务运行所需目标SDK版本,是系统提供的前向兼容手段。如果新SDK版本中API行为发生变更,将应用/元服务安装到新系统后,可通过该字段提供向前兼容手段,在新系统版本保持老的API行为。

如未配置,默认与compileSdkVersion保持一致。当前支持的版本参考所有HarmonyOS版本。相关标签与应用兼容性关系参见应用兼容性说明。

说明:

  • 运行环境是HarmonyOS时,字段类型是字符串,配置示例:"targetSdkVersion": "6.0.0(20)"。
  • 运行环境是OpenHarmony时,字段类型是数值,配置示例:"targetSdkVersion": 20。

modelVersion不需要跟targetSdkVersion对应,由于compatibleSdkVersion字段即标识应用/元服务运行所需兼容的最低SDK版本,所以如果改动这些版本号,需要真机或者模拟器版本兼容最低compatibleSdkVersion版本。

原链接:modelVersion、targetSdkVersion、compatibleSdkVersion 分别是什么含义?

http://www.zskr.cn/news/159656.html

相关文章:

  • django《Python程序设计》课程智能问答系统 智能AI客服问答系统_88mj5719
  • 分库分表数据源ShardingSphereDataSource的Connection元数据误用问题分析
  • 福特汽车主观评价规范:性能开发的宝藏指南
  • 年末财税稳控,让发票与收入成本“零隐患”
  • django基于Django的在线课程学习平台1_w494xm97
  • 2025专科生必看!10个AI论文工具测评:开题报告文献综述全攻略
  • CS50 week 4 Problems
  • 程序员越往上走,拼的从来不是技术,而是「会说话」的能力
  • 中国猎鹰特卫暖心护航,这场元旦盛会温情满溢~
  • 基于SpringBoot的高校教职工教师健康监护管理系统 企业员工健康管理系统_zohnb572
  • Science | DAP-seq助力揭示CsARF3调控黄瓜雌花形成分子机制
  • 信刻光盘摆渡系统介绍
  • LLM代理的库学习机制及其持续自我改进能力
  • 球幕影院投资成本分析与9D电影设备多少钱一套的综合探讨
  • 2025.12.26
  • 2025年度GEO优化全国服务商排名揭晓 - 源码云科技
  • 2025.12.26日21:51-gratification满意
  • 一、Python核心语句结构(配套答案)
  • 电动汽车动力系统匹配与整车经济性计算模型
  • 中医执医(助理)备考攻略!哪家培训机构实力领跑? - 资讯焦点
  • 鸿蒙后台任务到底该怎么写?TaskPool、Service、WorkScheduler 一次讲透
  • 京东m端 最新滑块逆向 e卡绑定
  • vmware安装ubuntu虚拟机后与主机win10共享文件夹
  • 全国中医师承培训机构哪家好?阿虎医考师承实测真心靠谱 - 资讯焦点
  • 南方湿冷魔法攻击破局指南:羽绒服材质抗冻性能深度解析 - 资讯焦点
  • 西门子1200双套三坐标六轴联动系统:含SCL语言模板、PLC通信与V90伺服驱动,中文注释程...
  • DM8共享集群数据库导出及导入之(dexp/dimp)
  • 探秘文件包含漏洞:从本地挖掘到远程威胁,PHP伪协议成“帮凶”
  • 创建linux虚拟机的初始化步骤
  • 2025最新!自考党必看TOP8 AI论文平台测评与推荐