优惠码 第109页 编译工程提示“This device type does not match project profile.”或安装时出现“DEVICE_NOT_SUPPORT_ERROR”,如何解决? 出现这种情况是由于“config.json”中配置的设备类型与调试设备类型不匹配,需要在“module”标签下配置对“deviceType”的定义。具体请参考[表7]的“deviceType”。 安装 HAP 失败,并提示“INCONSISTENT_BUNDLE_VERSION”,如何解决? 系统中有重复应用,卸载系统中已有的包名相同的应用。 提示“signingConfig ‘debug’ can not be null or empty”,如何解决? 检查“entry”下的 build.gradle 是否配置了签名。如果配了依然报错,检查是否误配到了工程级的 build.gradle 当中。 安装 HAP 失败,并提示“STRING_LENGTH_ERROR”,如何解决? 可能原因有: 包信息超过最大长度。包信息中包含的各属性字符串长度需要同时满足以下条件,否则会报错。 bundleName 的长度为 7~127个字节。 vendor 的长度为 0~255个字节。 version.name 的长度为 0~127个字节。 同时安装两个不同 module 生成的 hap 时,包信息不一致。需要比对两个 module的“config.json”文件中“app”标签配置内容是否一致。
2024-04-02
如何查看“config.json”文件的所有字段说明? “config.json”文件的各字段说明请查阅配置文件的元素。 怎么实现 Ability 可以被其他应用调用? 开发者需要在“config.json”文件中将“abilities”字段的“visible”标签设置为true。 权限声明在哪里进行添加? 开发者需要在“config.json”文件中的“reqPermissions”字段中声明所需要的权限,具体配置方法请参考申请权限。 使用数据库注解相关功能前有什么注意事项? 使用注解功能需在模块的“build.gradle”文件的“ohos”节点中增加如下配置项(不使用注解功能无须配置): compileOptions{ annotationEnabled true} 使用<image>标签引入本地图片,但图片无法加载? 图片无法加载的可能情况有三种: 没有给图片设置宽度和高度,需要在对应的 page 目录下的 css 样式文件中设置图片的宽高。使用<image>标签的图片不会自动缩放,图片宽高超过组件的宽高会自动截取。 图片引入路径错误。图片引入的路径必须是项目编译后的静态文件的路径。 在导入图片或添加/删除页面后没有重新编译。需要重新编译刷新 target 文件中的代码。 如何在后一个页面获取前一个页面传递过来的参数? 有三种方式可以获取前一个页面的参数。以如下场景为例:有两个页面“index”和“detail”,第二个页面“detail”需要获取从第一个页面“index”传递过来的参数。 如果参数需要在页面中引用,可以直接在“detail.hml”中使用{{参数名}}的形式进行引用。 如果需要对参数进行操作,在“detail.js”中,直接用 this. 参数名的形式使用。 可以在“detail.js”的data域中定义一个同名参数进行接收,注意以这种方式接受的参数将覆盖已有的参数。 如何查询设备支持的硬件/软件功能?如何查询设备是否支持某个硬件/软件特性? 应用通过调用 IBundleManager 接口类中的 getSystemAvailableCapabilities 方法,可以查询设备支持的硬件/软件功能列表。具体的功能定义可以通过 ohos.utils.CapabilityConstants 类查询。 应用通过调用 IBundleManager 接口类中的 hasSystemCapability 方法,可以查询设备是否支持某个硬件/软件功能。具体的功能定义可以通过 ohos.utils.CapabilityConstants 类查询。 图片为什么显示不全? 父类容器大小不能小于子组件容器大小。
2024-04-02
点击 Tools > HVD Manager 登录过程中一直卡住不动,如何解决? 问题现象 使用模拟器前需跳转至浏览器登录页面,使用个人实名帐号进行登录,但模拟器的登录一直长时间处于如下图所示状态。 解决措施 可能存在如下几种原因: 未点击 允许 按钮:通过浏览器登录个人实名帐号后,需要点击 允许 按钮进行授权。 首次实名认证完成,间隔时间较短:进行实名认证后,请等待约 10 分钟后再重新登录。登录成功后,点击左下角的 Refresh 按钮即可获取远程模拟器设备。 可能 cookie 跨域被浏览器禁止:请点击浏览器地址栏中的 按钮,检查 op.hicloud.com 是否设置为允许,如果被禁止,请设置为允许。 当前用户登录超时:在 DevEco Studio中,点击 Tools > DevEco Login >Personal Center,先退出登录;然后再点击 Tools > HVD Mnager 重新登录。 HVD Manager 跳转到华为帐号验证界面没有允许按钮,如何解决? 可能存在以下两种情况: 建议将 Chrome 浏览器设置为默认浏览器,并使用 Chrome 浏览器重新登录。 若刚完成实名认证,请等待约 10 分钟后再重新使用。 模拟器屏幕显示“The device may be in standby or screen-off state, please touch or drag the screen to wake up your device”,如何解决? 可能原因为网络问题导致数据获取缓慢,不能显示真机图像,可以尝试滑动屏幕或者更换设备后重试。 模拟器屏幕显示“Network exception, please release and try again”,如何解决? 网络不稳定导致数据流中断,请释放模拟器资源后重新申请模拟器继续使用。 模拟器连接成功,但是使用模拟器运行时,找不到设备,如何解决? 问题现象 模拟器连接成功,但是在 Select Doployment Target 界面的 Connected Device 中,找不到设备,如下图所示。 解决措施 在此电脑 > 属性 > 高级系统设置 > 高级 > 环境变量中,添加 HDC 端口变量。变量名为:HDC_SERVER_PORT,变量值设置为非 5037 的其它端口,如 7305。 重启电脑,然后重新尝试使用模拟器运行应用。 使用模拟器可以正常进入 Java 断点,但是不能进入 JS 断点,如何解决? 点击 Run > Edit Configurations > Debugger,将 Debug...
2024-04-02
无法自动下载 SDK 和相关工具,如何解决? 检查是否成功连接 Internet 网络,如果所在网络被管控,不能直接访问外网,请参考配置 DevEco Studio 代理后进行重试。 Java SDK 下载正常,但是 JS SDK 下载失败,如何解决? JS SDK 下载失败,可能存在以下原因: 未安装 Node.js,请根据下载和安装 Node.js进行处理。 您的网络受限,需要通过配置代理才能访问,请根据npm 代理设置进行处理。 下载 JS SDK 时,JS 依赖下载缓慢,如何解决? 对于国内用户,可以将 npm 仓库设置为华为公有云仓库。在命令行工具中执行如下命令,重新设置 npm 仓库地址后,再执行 JS SDK的下载。 npm config set registry https://mirrors.huaweicloud.com/repository/npm/ Gradle 插件下载失败,如何解决? Gradle 下载失败,可能存在如下两种原因: 网络受限,请检查网络设置或者 DevEco Studio 代理设置。 网络正常,但是通过 DevEco Studio 下载缓慢或失败,可以通过如下方式解决。 点击链接下载 Gradle 插件,建议使用下载工具进行下载。 打开“此电脑”,在文件夹地址栏中输入 %userprofile%,进入个人数据界面。 进入 .gradle > wrapper > dists > gradle-5.4.1-all 目录,将下载的“gradle-5.4.1-all.zip”拷贝到该目录下临时文件夹中。如果存在多个临时文件夹,建议每个文件夹都拷贝一份。 重启DevEco Studio,等待工程同步完成。
2024-04-02
A Ability 应用的重要组成部分,是应用所具备能力的抽象。Ability 分为两种类型,Feature Ability 和 Particle Ability。 AbilityForm 表单,是 Feature Ability 的一种界面展示形式,用于嵌入到其他应用中并作为其界面的一部分显示,并支持基础的交互功能。 AbilitySlice 切片,是单个可视化界面及其交互逻辑的总和,是 Feature Ability 的组成单元。一个 Feature Ability 可以包含一组业务关系密切的可视化界面,每一个可视化界面对应一个 AbilitySlice。 ANS Ability Notification Service,是 HarmonyOS 中负责处理通知的订阅、发布和更新等操作的系统服务。 C CES Common Event Service,是 HarmonyOS 中负责处理公共事件的订阅、发布和退订的系统服务。 D DV Device Virtualization,设备虚拟化,通过虚拟化技术可以实现不同设备的能力和资源融合。 F FA Feature Ability,元程序,代表有界面的 Ability,用于与用户进行交互。 H HAP HarmonyOS Ability Package,一个 HAP 文件包含应用的所有内容,由代码、资源、三方库及应用配置文件组成,其文件后缀名为 .hap。 HDF HarmonyOS Driver Foundation,HarmonyOS 驱动框架,提供统一外设访问能力和驱动开发、管理框架。 I IDN Intelligent Distributed Networking,是 HarmonyOS 特有的分布式组网能力单元。开发者可以通过 IDN 获取分布式网络内的设备列表以及注册分布式网络内设备在网状态变化信息。 M MSDP Mobile Sensing Development Platform,移动感知平台。MSDP 子系统提供两类核心能力:分布式融合感知和分布式设备虚拟化两大部分。 分布式融合感知:借助 HarmonyOS 分布式能力,将各设备感知源进行汇总融合,对用户的空间状态、移动状态、手势、健康状态等进行精准感知,构建全场景泛在基础感知能力,支撑智慧生活新体验。 分布式器件虚拟化:借助 HarmonyOS 分布式能力,构筑器件虚拟化平台,将外部设备的各类器件(如 Camera、显示器、SPK/MIC 等)虚拟化为本地设备的器件延伸使用。同时具备将自身器件共享给其他设备使用的能力。 P PA Particle Ability,元服务,代表无界面的 Ability,主要为 Feature Ability 提供支持,例如作为后台服务提供计算能力,或作为数据仓库提供数据访问能力。 S SA System Ability,即系统能力,是由OS提供的基础软件服务和硬件服务。 Super virtual device,超级虚拟终端 亦称超级终端,通过分布式技术将多个终端的能力进行整合,存放在一个虚拟的硬件资源池里,根据业务需要统一管理和调度终端能力,来对外提供服务。
2024-04-02
将 HarmonyOS 应用打包成 APP后,通过 AppGallery Connect 将 HarmonyOS 应用分发到不同的设备上。您可以根据发布 HarmonyOS 应用指导将 APP 上架到华为应用市场。
2024-04-02
开发者完成 HarmonyOS 应用开发后,需要将应用打包成 APP,用于发布到华为应用市场。打包 APP 时,DevEco Studio 会将工程目录下的所有 HAP 模块打包到 APP 中,因此,如果工程目录中存在不需要打包到 APP 的 HAP 模块,请手动删除后再进行编译构建生成 APP。 前提条件 已完成发布证书和 Profile 文件的申请,详情请参考申请证书和 Profile。 已完成 build.gradle 和 config.json 的设置,详情请参考编译构建前配置。 操作步骤 在 Project Structure > Project > Signing Configs 窗口中,配置工程的签名信息,设置完成后,点击 OK 按钮。 Store File:选择密钥库文件,文件后缀为 .p12。 Store Password:输入密钥库密码。 Key Alias:输入密钥的别名信息。 Key Password:输入密钥的密码。 SignAlg:签名算法,固定为 SHA256withECDSA。 Profile File:选择申请的发布 Profile 文件,文件后缀为 .p7b。 Certpath File:选择申请的发布数字证书文件,文件后缀为 .cer。 点击 Build > Build APP(s)/Hap(s) > Build APP(s),等待编译构建完成已签名的 APP。 编译构建完成后,可以在 build > outputs > app > release 目录下,获取带签名的 APP。
2024-04-02
JS调试功能 对 JS 进行调试的界面如下: 按钮 名称 快捷键 功能 Resume Program F9 当程序执行到断点时停止执行,点击此按钮程序继续执行。 Step Over F8 在单步调试时,直接前进到下一行(如果在函数中存在子函数时,不会进入子函数内单步执行,而是将整个子函数当作一步执行)。 Step Into F7 在单步调试时,遇到子函数后,进入子函数并继续单步执行。 Force Step Into Alt+Shift+F7 在单步调试时,强制下一步。 Step Out Shift+F8 在单步调试执行到子函数内时,点击Step Out会执行完子函数剩余部分,并跳出返回到上一层函数。 Rerun Ctrl+F5 重新启动调试。 Stop Ctrl+F2 停止调试任务。 Run To Cursor – 断点执行到鼠标停留处,仅TV、Wearable支持。 常用的调试功能: 变量值查看:在调试过程中,可以通过调试侧边栏中的 Variables 查看已执行程序中包含的变量的当前取值。 变量监控:也可以在 Watches 中添加关注的变量,对添加的变量进行监控。 调用栈信息查看:可以在 Frames 中查看函数的调用栈信息。 调试日志打印:调试控制台 Console 可以打印调试的日志信息。 Java 调试功能 通过 Attach Debugger to Process 选择进程进行调试,能根据调试类型,在已运行应用的设备上,自动进入相应的调试模式。 具备 Step Into, Step Out, Step Over, Force Step Into, Rerun、Run To Cursor 等基本调试能力,详细描述请参考[表 调试器按钮]。 支持 Inline Values,即编辑器显示变量值。 调试中断后,能够恢复执行。 C/C++ 调试功能 通过 Attach Debugger to Process 选择进程进行调试,能根据调试类型,在已运行应用的设备上,自动进入相应的调试模式。 Native 类型调试器,能启动 Debug Session 和 LLDB Server 运行调试。 具备 Step Into, Step Out, Step Over, Force Step Into, Rerun、Run To Cursor 等基本调试能力,详细描述请参考[表1]。 支持 Force Step Over。 支持 Inline Values,即编辑器显示变量值。 调试中断后,能够恢复执行。 LLDB 命令控制台: 支持使用 LLDB 命令自助调试 支持 UI 调试按钮/快捷键多指令输入
2024-04-02
DevEco Studio 提供了基于各种编写代码及不同设备的调试功能,如果使用了多种代码编写应用,请参考[选择调试代码类型]进行配置后[启动调试],调试过程中基于不同的代码进行[断点管理]。 选择调试代码类型 点击 Run > Edit Configurations > Debugger,在 HarmonyOS App 中,选择相应模块, 可以进行 Java/JS/C++ 调试配置。 调试类型 调试代码 Java Java Auto JavaC/C++根据代码自动匹配调试类型 Native C/C++ Dual C/C++Java同时调试C/C++ 代码与Java 代码 Js JavaScript 对于 TV 和 Wearable 设备,请根据应用编写的代码来配置调试类型,然后进行调试。 对于 Lite Wearable 设备,与调试类型配置无关,可直接进行调试。 启动调试 在工具栏中,点击 Debug 。 在弹出的界面,选择需要调试的设备。 真实设备:一般为可以用 USB 或 IP 方式连接的实体设备。 Remote Device :远程设备模拟器,支持 TV 和 Wearable,请参考使用模拟器运行应用启动连接设备后,方可选择进行调试。 如果需要设置断点调试,则需要选定要设置断点的有效代码行,在行号(比如:24 行)的区域后,单击鼠标左键设置断点(如图示的红点)。 设置断点后,调试能够在正确的断点处中断,并高亮显示该行。 断点管理 在设置的程序断点红点处,点击鼠标右键,然后点击 More(或按快捷键Ctrl+Shift+F8),可以管理断点。 代码类型 断点管理 JS(JavaScript) 普通行断点 Java 普通行断点 Exception(异常)断点 C/C++ 普通行断点 Exception(异常)断点 Symbolic(符号)断点设置 Watchpoint(仅支持 x86、x86_64 架构)
2024-04-02
Lite Wearable 的 HarmonyOS 应用安装,依赖华为手机上的运动健康和应用调测助手 APP 辅助进行。 前提条件 已将运动健康 APP升级至最新版本。 从华为应用市场安装应用调测助手 APP。 在 Lite Wearable 中运行应用,需要提前根据编译构建生成 HAP完成 HAP 的签名配置。 操作步骤 使用 USB 连接线将手机和电脑进行连接,确保连接状态是正常的。 手机与电脑使用 USB 连接时,在手机上选择传输文件连接方式。 在工程目录中的 Build > outputs >hap 中选择生成的 HAP,通过手工拷贝的方式将 HAP 拷贝至手机中的“/sdcard/haps/”目录。 说明 如果在手机存储根目录下没有“haps”文件夹,请手工创建后再拷贝 HAP 到该文件夹下。 将 Lite Wearable 通过蓝牙与华为手机进行连接。 进入运动健康 APP,在设备页签中,点击添加设备按钮。 进入手表列表中,选择对应的 Lite Wearable 型号。 点击开始配对,按照界面指引完成 Lite Wearable 与华为手机之间的连接。 打开应用调测助手 APP,界面会显示已经与华为手机连接的 Lite Wearable。 说明 如果 Lite Wearable 与华为手机未连接,请点击应用调测助手 APP 界面的连接设备按钮,手机会自动打开运动健康 APP 添加 Lite Wearable。 点击应用调测助手 APP 界面中的安装手表应用按钮,选择需要安装的 HarmonyOS 安装包进行安装。 安装完成后,点击 Lite Wearable 中的应用图标,运行 HarmonyOS 应用。
2024-04-02