HarmonyOS Developer DevEco Studio常见问题-调试运行
同时连接HarmonyOS和OpenHarmony设备,但只能识别其中一种设备
当前DevEco Studio识别连接设备的规则为:
- 如果只打开HarmonyOS工程,则设备选择框只展示HarmonyOS设备;同理如果只打开了OpenHarmony工程,则只展示OpenHarmony设备
- 如果同时打开了HarmonyOS和OpenHarmony工程,则设备选择框同时展示HarmonyOS设备和OpenHarmony设备。
- 如果一个工程中,同时存在HarmonyOS Target和OpenHarmony Target,则设备选择框同时展示HarmonyOS设备和OpenHarmony设备。
设备连接后,无法识别设备的处理指导
问题现象
调试运行过程中,安装HAP失败,提示“Device not founded or connected”。
或DevEco Studio无法识别到已连接的设备,显示“No device”。
解决措施
可能的原因:
- 当前Toolchains中的hdc_std.exe版本和设备的hdcd版本不匹配。
- hdc_std工具的进程或设备存在异常(仅macOS环境存在)。
hdc_std.exe版本和设备的hdcd版本不匹配
- 分别查询hdc_std.exe和hdcd的版本信息:
- 查询hdc_std.exe版本:在toolchains目录下执行如下命令。
hdc_std.exe -v
- 查询设备的hdcd版本:将设备与电脑进行连接后,在toolchains目录下执行如下命令。
hdc_std.exe shell hdcd -v
- 如果上述查询的结果中为“1.1.1k”的版本,则需要更新对应的SDK或镜像。例如,hdc_std.exe的版本为1.1.1k,hdcd版本为1.1.1l,则请在OpenHarmony每日构建中,获取最新的ohos-sdk版本,然后解压获取toolchains下的hdc_std.exe工具,将其替换到OpenHarmony SDK下的toolchains目录中。
hdc_std工具的进程或设备异常
该问题主要存在macOS开发环境。
- 执行如下命令,结束hdc_std的进程,然后尝试重新连接。
./hdc_std kill
- 若按照步骤1操作后还是不能连接,请重启设备,然后尝试重新连接。
运行应用/服务时,提示“ install no signature info”
问题现象
对HAP包签名后,在设备中运行HAP时提示“failed to install bundle. error: install no signature info”。
解决措施
该问题是由于签名工具与设备运行的镜像版本不匹配导致,需要开发者手动更新设备的镜像,可参考如下步骤进行更新。
- 获取OpenHarmony 3.1 Release镜像文件,下载对应开发板的镜像文件。
- 将下载的镜像文件烧录到开发板中,关于各开发板的烧录,可以使用DevEco Device Tool工具进行烧录,具体请参考DevEco Device Tool使用指南。
- 重新运行应用/服务。
HarmonyOS应用自动化签名时提示“Provision number exceeds limit”
问题现象:
使用自动化签名功能对HarmonyOS进行签名时,提示“Provision number exceeds limit”信息。
解决措施:
该问题的原因是AGC(AppGallery Connect)对自动化签名使用次数有限制,同一个开发者帐号,在最近30天使用自动化签名功能使用次数不能超过150次。
可通过如下几种方式进行解决:
- 方法1:建议相同BundleName的应用,如果设备无变化,请使用同一套签名文件信息,不要反复进行重签名操作。
- 方法3:更换其它开发者帐号进行登录,然后进行签名。
- 方法4:AGC限制同一个帐号,在近30天使用自动化签名的次数不能超过150次。因此,可以等待一段时间后,重新使用该帐号进行签名。
安装HAP时提示“error: install parse profile prop check error”错误
问题现象:
在启动调试或运行C++应用/服务时,安装HAP出现错误,提示“error: install parse profile prop check error”错误信息。
解决措施:
该问题是可能是由于设备支持的Abi类型与C++工程中配置的Abi类型不匹配导致,请通过如下步骤进行解决。
- 将设备与DevEco Studio进行连接。
- 打开命令行工具,并进入OpenHarmony SDK安装目录下的toolchains\{版本号}目录下。
说明
若不清楚OpenHarmony SDK安装目录,可单击File > Settings > OpenHarmony SDK界面查看安装路径。
- 执行如下命令,查询设备支持的Abi列表,返回结果为default/armeabi-v7a/armeabi/arm64-v8a/x86/x86_64中的一个或多个Abi类型。
hdc_std.exe shell
param get const.product.cpu.abilist
- 根据查询返回结果,检查模块下build-profile.json5文件中的“abiFilters”参数中的配置,规则如下:
- 若返回结果为default,请执行如下命令,查询是否存在lib64文件夹。
○ 存在lib64文件夹:则“abiFilters”参数中需要包含arm64-v8a类型。
○ 不存在lib64文件夹:则abiFilters”参数中需要至少包含armeabi\armeabi-v7a中的一个类型。
cd /system/
ls
○ 若返回结果为armeabi-v7a/armeabi/arm64-v8a/x86/x86_64中的一个或多个,需要在“abiFilters”参数中至少包含返回结果中的一个Abi类型。
安装HAP时提示“error: install parse native so failed”错误
问题现象:
在启动调试或运行C++应用/服务时,安装HAP出现错误,提示“error: install parse native so failed”错误信息。
解决措施:
该问题是可能是由于设备支持的Abi类型与C++工程中配置的Abi类型不匹配导致,请通过如下步骤进行解决。
- 将设备与DevEco Studio进行连接。
- 打开命令行工具,并进入OpenHarmony SDK安装目录下的toolchains\{版本号}目录下。
说明
若不清楚OpenHarmony SDK安装目录,可单击File > Settings > OpenHarmony SDK界面查看安装路径。
- 执行如下命令,查询设备支持的Abi列表,返回结果为default/armeabi-v7a/armeabi/arm64-v8a/x86/x86_64中的一个或多个Abi类型。
hdc_std.exe shell
param get const.product.cpu.abilist
- 根据查询返回结果,检查模块级build-profile.json5文件中的“abiFilters”参数中的配置,规则如下:
- 若返回结果为default,请执行如下命令,查询是否存在lib64文件夹。
○ 存在lib64文件夹:则“abiFilters”参数中需要包含arm64-v8a类型。
○ 不存在lib64文件夹:则abiFilters”参数中需要至少包含armeabi\armeabi-v7a中的一个类型。
cd /system/
ls
○ 若返回结果为armeabi-v7a/armeabi/arm64-v8a/x86/x86_64中的一个或多个,需要在“abiFilters”参数中至少包含返回结果中的一个Abi类型。
INSTALL_PARSE_FAILED_USESDK_ERROR处理指导
问题现象
如果工程中的releaseType字段与设备(模拟器和真机)中的SDK镜像版本的值不匹配,则运行时会报INSTALL_PARSE_FAILED_USESDK_ERROR错误,如下图所示。
解决措施
在设备中运行应用/服务时,build.gradle(API4-7)或build-profile.json5(API8及以上版本)文件中的compileSdkVersion和compatibleSdkVersion,以及SDK Stage(Beta或Release)需要与设备的apiVersion、releaseType相互匹配才能正常运行。具体的修改方法如下:
- 在HarmonyOS SDK存储目录下的Sdk\hmscore\{版本号}\toolchains文件下打开CMD命令行工具,执行如下命令进行查询真机设备的apiversion和releaseType取值。
hdc shell
getprop hw_sc.build.os.apiversion
getprop hw_sc.build.os.releasetype
- 打开模块的build.gradle(API4-7)或打开工程的build-profile.json5(API8-9)文件,查看compileSdkVersion、compatibleSdkVersion。
图1 在模块的build.gradle(API4-7)文件中查看compileSdkVersion、 compatibleSdkVersion
图2 在工程的build-profile.json5(API8-9)文件查看compileSdkVersion、compatibleSdkVersion
- 点击File > Settings > SDKs > HarmonyOS,查看compileSdkVersion对应的SDK stage。例如,下图中API Version 7对应的Stage为Release。
- 根据查询的设备apiversion、releaseType,以及SDK Stage的取值,再查询下表中的匹配关系,来修改compileSdkVersion和compatibleSdkVersion的值。其中compileSdkVersion需要修改工程和各模块build.gradle中的取值;compatibleSdkVersion需要修改各模块下的build.gradle中的取值。
说明
如果下表中找不到与apiversion、releaseType,以及SDK Stage相匹配的取值,可以检查对应API Version的SDK是否可以更新,或者更新设备的HarmonyOS系统版本,然后再根据升级更新后的取值,来匹配下表内容进行修改。
apiVersion | releaseType | compileSdkVersion | SDK Stage | compatibleSdkVersion |
4 | Release | 4 | Release | 4 |
4 | Release | 5 | Beta | 4 |
5 | Beta | 5 | Beta | 4或5 |
5 | Release | 5 | Release | 4或5 |
5 | Release | 6 | Release | 4或5 |
5 | Release | 6 | Beta | 4或5 |
6 | Release | 5 | Release | 4或5 |
6 | Release | 6 | Release | 4或5或6 |
6 | Beta | 5 | Release | 4或5 |
6 | Beta | 6 | Beta | 4或5或6 |
7 | Beta | 7 | Beta | 4或5或6或7 |
7 | Beta | 6 | Release | 4或5或6 |
8 | Release | 6 | Release | 4或5或6 |
8 | Release | 8 | Release | 8 |
9 | Canary1 | 9 | Canary1 | 9 |
INSTALL_FAILED_APP_SOURCE_NOT_TRUSTED处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_FAILED_APP_SOURCE_NOT_TRUSTED]”错误。
解决措施
该问题是在真机设备中调试/运行时,由于该Hap的签名信息中,不包含当前真机设备的UDID信息导致,您可以通过如下方式进行解决:
- 如果您当前的签名信息是使用DevEco Studio的自动化签名功能进行签名的,可对工程重新进行签名。
a. 点击File > Project Structure > Project > Signing Configs,打开签名配置页面。
b. 勾选“Automatically generate signature”,等待重新签名然后,然后点击OK即可。
- 如果您当前是通过手动方式申请签名文件进行签名的,需要申请的调试Profile文件(.p7b)中添加当前设备的UDID信息:
○ 原子化服务请参考:请在调试Profile文件中添加调试设备,然后重新申请调试Profile文件并进行签名。
○ HarmonyOS应用请参考:请在调试Profile文件中注册调试设备,然后重新申请调试Profile文件并进行签名。
INSTALL_FAILED_NO_BUNDLE_SIGNATURE处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_FAILED_NO_BUNDLE_SIGNATURE]”错误。
解决措施
该问题是在真机设备中调试/运行时,当前Hap没有签名导致,您可以通过如下两种方式进行解决:
- 通过DevEco Studio的自动化签名功能对Hap进行签名来解决。
○ 原子化服务:请参考通过DevEco Studio自动化签名方式对原子化服务签名。
○ HarmonyOS应用:请参考通过DevEco Studio自动化签名方式对应用签名。
- 使用手动申请的调试证书文件对Hap进行签名来解决。
○ 原子化服务:请参考手动方式调试HarmonyOS原子化服务。
○ HarmonyOS应用:请参考手动方式调试HarmonyOS应用。
ERROR_GET_BUNDLE_INSTALLER_FAILED处理指导
问题现象
在运行/调试过程中出现“Failure[ERROR_GET_BUNDLE_INSTALLER_FAILED]”错误。
解决措施
该问题是由于系统的BMS服务异常导致,您可以尝试通过如下两种方式进行解决:
- 请稍等一段时间后重试。
- 如果长时间无法恢复,您可以在DevEco Studio中点击Help > Show Log in Explorer收集错误日志信息,然后访问HarmonyOS社区发帖求助,我们会有专人跟进帮助您尽快解决问题。
INSTALL_FAILED_PROVISIONING_BUNDLE_NAME_INVALID处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_FAILED_PROVISIONING_BUNDLE_NAME_INVALID]”错误。
解决措施
该问题是由于签名文件的packageName与工程的bundleName不一致导致,您可以通过如下方式进行解决。
- 访问AppGallery Connect中已创建HarmonyOS应用,查看HarmonyOS应用的包名。
- 在DevEco Studio中打开File > Project Structure > Project > Signing Configs界面,点击“Bundle Name”后的
按钮,将“Bundle Name”的值修改为AppGallery Connect中查询到的应用包名即可。
INSTALL_FAILED_VERIFY_APP_PKCS7_FAIL处理指导
问题现象
由于证书有效期时间问题,在真机设备上运行应用时报“Failure[INSTALL_FAILED_VERIFY_APP_PKCS7_FAIL]”错误。
解决措施
该问题是由于签名证书的有效时间问题导致。
检查证书的有效时间,可在AppGallery Connect中,进入HarmonyOS项目,然后点击左侧导航栏最下方的HarmonyOS应用 > HAP Provision Profile管理,查看对应证书的失效时间。
- 如果证书已过期:可采用DevEco Studio自动化签名方案,重新对应用进行签名。
- 如果证书未过期,请检查运行设备上的日期,确保设备的日期与当前实际日期保持一致。
- 如果证书未过期,设备系统日期也正确,则可能是证书链无效,需要重新申请新的证书,可采用DevEco Studio自动化签名方案,重新对应用进行签名。
INSTALL_FAILED_INCOMPATIBLE_SIGNATURE处理指导
问题现象
在进行多Hap调试/运行过程中出现“Failure[INSTALL_FAILED_INCOMPATIBLE_SIGNATURE]”错误。
解决措施
该问题是由于多Hap的签名信息配置不一致导致,可通过如下方式解决:
- 点击File > Project Structure,删除各Module下配置的签名信息(或者在各模块中的build.gradle中删除签名信息)。
- 然后在Project下,对整个工程进行签名。
INSTALL_FAILED_RESTRICTED_PERMISSIONS_NOT_GRANTED处理指导
问题现象
由于在config.json中配置了受限权限,但调试Profile文件中未申请调试权限,导致在真机设备中调试/运行时报INSTALL_FAILED_RESTRICTED_PERMISSIONS_NOT_GRANTED错误。
解决措施
在真机设备中调试Hap包时,需要对Hap包进行签名,签名方式分为使用DevEco Studio自动化签名方案和在AppGallery Connect中手动申请签名文件两种方式。
- 对于使用DevEco Studio自动化签名方案,在签名时会自动申请受限权限。如果开发者是在签名完成后,再去config.json中添加受限权限,此时就会出现该错误。需要点击File > Project Structure > Project > Restricted Permissions界面,点击Apply按钮。
- 对于使用在AppGallery Connect中手动申请签名文件方案,开发者需要在AppGallery Connect重新签名证书。在申请调试Profile文件时,需要申请受限权限,具体请参考手动方式调试HarmonyOS应用。
INSTALL_FAILED_BUNDLE_INFO_NOT_CONFIG处理指导
问题现象
在DevEco Studio中,模块勾选了“Deploy Multi Hap Packages”多Hap包部署时,会同时安装与该模块存在关联关系的模块。如果该模块与依赖的其他模块存在配置信息不一致时,则会出现INSTALL_FAILED_BUNDLE_INFO_NOT_CONFIG错误。
解决措施
出现该问题时,是由于该模块与依赖的其他模块之间的配置信息不一致导致,开发者需要检查如下配置信息的一致性。
- 检查依赖的各模块的build.gradle文件中的“compileSdkVersion”和“compatibleSdkVersion”字段,确保各个模块的取值保持完全一致。
- 检查依赖的各模块的config.json文件中的bundleName、vendor、code、name和minCompatibleVersionCode字段,确保各个模块的取值保持完全一致,其中minCompatibleVersionCode字段为可选字段。
SERVICE_UNAVAILABLE处理指导
问题现象
在安装运行Wearable应用时出现“Failure[SERVICE_UNAVAILABLE]”错误。
解决措施
出现该问题时,可能是由于系统出现异常,您可以尝试通过如下方式进行解决:
- 重启Wearabale设备,然后再重新安装。
- 如果问题未解决,您可以在DevEco Studio中点击Help > Show Log in Explorer收集错误日志信息,然后访问HarmonyOS社区发帖求助,我们会有专人跟进帮助您尽快解决问题。
ERROR_BUNDLE_PATH_OR_FILE处理指导
问题现象
在运行/调试过程中出现“Failure[ERROR_BUNDLE_PATH_OR_FILE]”错误。
解决措施
出现该问题时,可能的原因是Hap包路径不正确,或Hap包所在文件夹没有访问权限,您可以尝试通过如下方式进行解决:
- 检查并确认Hap包路径是否正确。
- 确保Hap包所在目录有访问权限。
- 如果以上两种情况都确认没有问题,可使用HDC工具,查询设备的ApiVersion,如果是版本过低(低于build.gradle中的compileSdkVersion),请升级设备。或者将build.gradle中的compileSdkVersion和compatibleSdkVersion的取值修改为≤当前设备的ApiVersion。
hdc shell
getprop hw_sc.build.os.apiversion
INSTALL_PARSE_FAILED_SYSCAP_NOT_SUPPORT处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_PARSE_FAILED_SYSCAP_NOT_SUPPORT]”错误。
解决措施
出现该问题时,原因是config.json中deviceCapability字段定义的能力与设备实际能力不匹配,您可以尝试通过如下方式进行解决:
- 删除config.json中deviceCapability字段,或修改其取值。
- 尝试更换设备后再重试。
INSTALL_PARSE_FAILED_REQPERMISSIONS_ERROR处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_PARSE_FAILED_REQPERMISSIONS_ERROR]”错误。
解决措施
出现该问题时,原因可能是config.json中reqPermissions字段配置不正确,您可以尝试通过如下方式进行解决:
- 请根据reqPermissions字段填写规则,检查config.json文件中的配置。
- 如果问题未解决,您可以在DevEco Studio中点击Help > Show Log in Explorer收集错误日志信息,然后访问HarmonyOS社区发帖求助,我们会有专人跟进帮助您尽快解决问题。
INSTALL_FAILED_DEVICE_NOT_SUPPORT_ERROR处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_FAILED_DEVICE_NOT_SUPPORT_ERROR]”错误。
解决措施
出现该问题时,原因是config.json中的deviceType字段的取值与当前运行的设备类型不匹配。例如,当前运行的设备是P40,但deviceType字段中未包含“Phone”字段。
因此,请修改deviceType字段的取值或更换运行的设备类型。
INSTALL_PARSE_FAILED_BAD_PROFILE处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_PARSE_FAILED_BAD_PROFILE]”错误。
解决措施
出现该问题时,可能的原因是config.json配置文件不符合要求,您可以尝试通过如下方式进行解决:
- 使用DevEco Studio打开工程,然后打开config.json文件,根据编辑器校验提示信息,修改相关报错。
- config.json中取值符合规范,但运行时设备校验失败,您可以在DevEco Studio中点击Help > Show Log in Explorer收集错误日志信息,然后访问HarmonyOS社区发帖求助,我们会有专人跟进帮助您尽快解决问题。
INSTALL_PARSE_FAILED_INCONSISTENT_BUNDLE_VERSION处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_PARSE_FAILED_INCONSISTENT_BUNDLE_VERSION]”错误。
解决措施
出现该问题时,可能的原因是多Hap包config.json文件的“code”字段取值不一致导致,您可以尝试通过如下方式进行解决:
- 分别打开相互依赖的各模块的config.json文件,确保version下的code字段取值相同。
- 如果不需要多hap包安装,点击Run > Edit Configurations,找到需要安装的模块,去勾选“Deploy Multi Hap Package”选项。
INSTALL_EXTRA_FAILED_UPDATE_INCOMPATIBLE处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_EXTRA_FAILED_UPDATE_INCOMPATIBLE]”错误。
解决措施
该问题是由于当前工程的签名信息与设备上已安装的应用/原子化服务的签名信息不一致导致,您可以尝试通过如下两种方式解决:
- 先在设备上手动卸载已安装的应用/原子化服务,然后再重新安装。
- 如果问题未解决,您可以在DevEco Studio中点击Help > Show Log in Explorer收集错误日志信息,然后访问HarmonyOS社区发帖求助,我们会有专人跟进帮助您尽快解决问题。
INSTALL_FAILED_INVALID_SIGNATURE_FILE_PATH处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_FAILED_INVALID_SIGNATURE_FILE_PATH]”错误。
解决措施
该问题是由于安装时出现系统错误导致,您可以在DevEco Studio中点击Help > Show Log in Explorer收集错误日志信息,然后访问HarmonyOS社区发帖求助,我们会有专人跟进帮助您尽快解决问题。
INSTALL_FAILED_BAD_BUNDLE_SIGNATURE_FILE处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_FAILED_BAD_BUNDLE_SIGNATURE_FILE]”错误。
解决措施
该问题是由于安装时出现系统错误导致,您可以在DevEco Studio中点击Help > Show Log in Explorer收集错误日志信息,然后访问HarmonyOS社区发帖求助,我们会有专人跟进帮助您尽快解决问题。
INSTALL_FAILED_BUNDLE_INTEGRITY_VERIFICATION_FAILURE处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_FAILED_BUNDLE_INTEGRITY_VERIFICATION_FAILURE]”错误。
解决措施
该问题是由于Hap包被破坏,完整性校验失败,您可以尝试重新编译Hap包后进行重试。
INSTALL_FAILED_VERSION_DOWNGRADE处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_FAILED_VERSION_DOWNGRADE]”错误。
解决措施
该问提是由于当前待安装的Hap包版本比已安装的应用/原子化服务的版本低导致,您可以通过如下两种方式进行解决:
- 先在设备上手动卸载已安装的应用,然后再重新安装。
- 修改各模块的config.json文件中的“code”字段,将其修改为更高的版本。
INSTALL_FAILED_VERSION_INCONSISTENT处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_FAILED_VERSION_INCONSISTENT]”错误。
解决措施
该问题是由于在多Hap包安装过程中,各Hap包的config.json中的“code”字段取值不一致导致,您可以通过如下两种方式进行解决:
- 分别打开相互依赖的各模块的config.json文件,确保version下的code字段取值相同。
- 如果不需要多hap包安装,点击Run > Edit Configurations,找到需要安装的模块,去勾选“Deploy Multi Hap Package”选项。
INSTALL_FAILED_INVALID_BUNDLE_FILE处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_FAILED_INVALID_BUNDLE_FILE]”错误。
解决措施
该问题是由于Hap包不符合规范,请按照如下规则,检查Hap包情况:
- 待安装的包名后缀必须为.hap
- Hap包文件不能为空
- Hap包文件名长度不能超过260个字符
- Hap包文件大小不能超过1024 MB
INSTALL_FAILED_INVALID_BUNDLE_NAME处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_FAILED_INVALID_BUNDLE_NAME]”错误。
解决措施
该问题是由于config.json中的bundleName字段取值不符合规范要求,请根据bundleName取值规范进行排查。
INSTALL_PARSE_FAILED_DEFPERMISSIONS_ERROR处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_PARSE_FAILED_DEFPERMISSIONS_ERROR]”错误。
解决措施
该问题是由于config.json中的defPermissions字段取值不符合规范,请根据defPermissions取值规范进行排查。
INSTALL_PARSE_FAILED_MODULE_TYPE_ERROR处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_PARSE_FAILED_MODULE_TYPE_ERROR]”错误。
解决措施
该问题是由于config.json中moduleType字段取值不符合规范,Hap包的moduleType字段取值只能是entry或feature。
INSTALL_PARSE_FAILED_NO_MAINENTRY处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_PARSE_FAILED_NO_MAINENTRY]”错误。
解决措施
该问题是由于安装的Hap包为feature类型,缺少依赖的hap包,您可以根据如下方式进行解决:
- 检查该Hap模块下的build.gradle文件中,是否存在“entryModules”字段,且依赖的Entry模块名正确。
- 点击Run > Edit Configurations,找到需要安装的模块,勾选“Deploy Multi Hap Package”选项,同时安装该Hap包依赖的entry模块。
INSTALL_PARSE_FAILED_INCONSISTENT_BUNDLE_NAME处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_PARSE_FAILED_INCONSISTENT_BUNDLE_NAME]”错误。
解决措施
该问题是由于多Hap包安装时,各Hap包的bundleName字段取值不一致导致,您可以打开各模块的config.json文件,将各模块的bundleName字段取值修改为相同取值。
INSTALL_PARSE_FAILED_INCONSISTENT_COMPRESS_NATIVE_LIBS处理指导
问题现象
在运行/调试过程中出现“Failure[INSTALL_PARSE_FAILED_INCONSISTENT_COMPRESS_NATIVE_LIBS]”错误。
解决措施
该问题是由于多Hap包安装时,各Hap包的compressNativeLibs字段取值不一致导致,您可以打开各模块的config.json文件,将各模块的compressNativeLibs字段取值修改为相同取值。
ERR_APPEXECFWK_INSTALL_PARSE_FAILED_USESDK_ERROR处理指导
问题现象
在运行/调试过程中出现“Failure[ERR_APPEXECFWK_INSTALL_PARSE_FAILED_USESDK_ERROR]”错误。
解决措施
该问题是由于Hap包的compileSdkVersion和releaseType与设备上的apiVersion和releaseType不匹配导致,您可以参考INSTALL_PARSE_FAILED_USESDK_ERROR处理指导进行处理。
Release应用堆栈解析相关错误提示及解决措施
在使用Release应用堆栈解析功能时,可能遇到的错误提示及解决措施如下所示。
错误提示 | 问题原因 | 解决措施 |
Invalid path in line X | 堆栈解析功能仅对输入堆栈中含有“(…)”的行进行解析,且堆栈格式需要满足“(路径:行号:列号)”的形式,如:“at o (entry/build/default/intermediates/loader_out/default/ets/pages/Index_.js:1:1)”,且对于Release应用的错误堆栈,路径需要以_.js结尾。如果路径不满足上述形式,则会提示“Incorrect path format in line X”。 | 对输入堆栈按上述规则进行修改,并重新解析。 |
Failed to find the source file in line X | 如果输入的堆栈信息来自Release版本,则可能由于生成该Release版本App的源文件不存在,或者所打开的工程与生成堆栈的工程不一致。 如果输入的堆栈信息来自Debug版本,则可能由于对应的源文件不存在,或者打开的工程与生成堆栈信息的工程不一致。 | 检查堆栈对应工程与所打开工程的是否一致,并检查堆栈对应的源文件是否存在。 |
SourceMap error in line X | 解析堆栈信息时,DevEco Studio需要用sourceMap将堆栈中的bundle文件信息映射为源码信息,如果所打开工程的bundle文件与生成堆栈时所对应的bundle文件不一致,则可能导致无法将堆栈中的信息映射为源码信息,此时会提示“SourceMap error”。 | 检查所打开工程中的bundle文件与生成堆栈信息对应的bundle文件是否一致,如不一致,利用生成堆栈时的源码构建Release版本App,再进行堆栈解析。 |
Failed to find source data in line X | 如果输入堆栈中存在字符串“Cannot get SourceMap info, dump raw stack:”,DevEco Studio则会将其所在行替换为:“Error Line: +第一条解析成功的堆栈对应的源码数据”。 当第一条解析成功的堆栈对应的源码不存在时(比如源码可能已被修改),则会提示:“Failed to find source data in line X:”。 | 检查源码是否存在,如果不存在,将源码文件改为堆栈信息对应的源码文件。 |
Failed to find the bundle file in line X | 堆栈解析功能需要在打开对应工程,并且构建App对应Release版本条件下使用。 对于输入的堆栈信息,DevEco Studio会根据对应工程类型的路径转换规则寻找堆栈对应的Release版本bundle文件,如果转换后的路径对应bundle文件不存在,则会提示“Failed to find the bundle file in line X :”。 | 打开工程并构建对应App的Release版本,重新输入堆栈进行解析。 |
Make sure the API version of your project is 8 or later | 堆栈解析功能仅支持API Version为8及以上的工程。 | 请在API Version为8及以上的工程中使用该功能。 |
ERR_INSTALL_PARSE_NATIVE_SO_FAILED处理指导
问题现象
已有工程在升级DevEco Studio后,在本地模拟器上安装失败,出现“Failure[ERR_INSTALL_PARSE_NATIVE_SO_FAILED]”错误。
解决措施
若工程为API 9的Native应用,请升级为最新SDK,并修改模块级build-profile.json5文件,在abiFilters字段内加入x86_64。
{
...
"buildOption": {
"externalNativeOptions": {
"abiFilters": [
...
"x86_64"
]
}
},
...
}
JS调试中Variables页签及编辑器中无法正常查看变量值
问题现象
升级HarmonyOS SDK至3.2.2.6版本后,但未升级DevEco Studio到3.1Beta1版本,在JS工程进行调试时,Variables页签和编辑器中无法正常查看变量值。
解决措施
建议升级DevEco Studio到3.1Beta1版本。
C++调试异常进入汇编代码中执行
问题现象
使用HarmonyOS 3.1版本模拟器进行C++代码调试,在FunctionA中调用FunctionB场景中,在调用FunctionB处使用Step Over/Step Into功能时,调试会异常跳转到汇编代码中执行:
- 如果后续无断点,调试会一直在汇编代码中执行。
- 如果后续有断点,调试会正常恢复到C++代码文件中执行。
解决措施
开发者在上述场景中遇到调试跳转到汇编代码中执行的异常现象时,可以在FunctionB代码中增加一个新断点,从而使调试程序跳出汇编代码,正常恢复到C++代码中执行。
升级版本后运行之前工程的应用至模拟器或真机后组件显示异常
问题现象
升级DevEco Studio到3.1 Beta1版本,升级HarmonyOS SDK到3.2.2.6版本,升级模拟器镜像版本或真机设备到HarmonyOS 3.1.0 Developer Beta1版本后,通过DevEco Studio打开之前创建的工程,将应用运行至最新版本的模拟器或真机设备,组件显示异常,例如:组件缺失、组件显示位置错乱等。
解决措施
出现该问题的原因是DevEco Studio、HarmonyOS SDK、模拟器镜像或真机版本升级后,之前工程使用的部分组件/接口发生了变更,导致运行异常。针对显示异常的组件,开发者可根据最新版本的SDK API参考,重新调整相关组件/接口。