HarmonyOS鸿蒙Next中hb set问题

HarmonyOS鸿蒙Next中hb set问题 执行hb set 报以下错误:

屏幕截图 2023-07-06 222532.png

使用的是LINUX 虚拟机 希望同僚支持哇!


更多关于HarmonyOS鸿蒙Next中hb set问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

16 回复

先尝试安装一下日志中缺失的依赖,再重新执行呢?

安装命令:pip install prompt-toolkit

更多关于HarmonyOS鸿蒙Next中hb set问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


之前应该尝试过,还是不行哇。今晚我回去再试一下。

感觉还是一样的呀,还是报那个 [OHOS ERROR]   File "/home/chinesewts/OpenHarmony/Neptune_w800/Neptune_w800_code/build/lite/hb_internal/cts/prompt.py", line 21, in <module> [OHOS ERROR]     from prompt_toolkit.shortcuts import run_application [OHOS ERROR] ModuleNotFoundError: No module named 'prompt_toolkit' [OHOS ERROR] Unhandled error: No module named 'prompt_toolkit'
repo init -u [https://gitee.com/openharmony/manifest](https://gitee.com/openharmony/manifest) -b OpenHarmony-3.2-Release --no-repo-verify  
repo sync -c  
repo forall -c 'git lfs pull'

重新下载的3.2分支的代码,之后执行`bash build/prebuilts_download.sh`要全部成功才行。

再之后根据文档配置[https://docs.openharmony.cn/pages/v3.2/zh-cn/device-dev/quick-start/quickstart-pkg-install-tool.md/](https://docs.openharmony.cn/pages/v3.2/zh-cn/device-dev/quick-start/quickstart-pkg-install-tool.md/)

执行hb set之后根据文档输入.而不是直接回车,稀里糊涂好使了,但是呢,下一个问题就是编译不过......不管是W800平台的还是Hi3861,都有错误。

[OHOS ERROR] [780/811] ACTION //device/soc/hisilicon/hi3861v100/sdk_liteos:run_wifiiot_scons(//build/lite/toolchain:riscv32-unknown-elf)

[OHOS ERROR] FAILED: obj/device/soc/hisilicon/hi3861v100/sdk_liteos/run_wifiiot_scons_build_ext_components.txt  

[OHOS ERROR] /home/chinesewts/OpenHarmony/release32_0711/prebuilts/python/linux-x86/3.9.2/bin/python3 ../../../build/lite/build_ext_components.py --path=../../../device/soc/hisilicon/hi3861v100/sdk_liteos --command=sh\ hm_build.sh\ /home/chinesewts/OpenHarmony/release32_0711/out/hispark_pegasus/wifiiot_hispark_pegasus\ linux --target_dir=/home/chinesewts/OpenHarmony/release32_0711/out/hispark_pegasus/wifiiot_hispark_pegasus/obj/device/soc/hisilicon/hi3861v100/sdk_liteos/build.log --out_dir=/home/chinesewts/OpenHarmony/release32_0711/out/hispark_pegasus/wifiiot_hispark_pegasus/error.log

[OHOS ERROR] execute ota_builder with python...

[OHOS ERROR] riscv32-unknown-elf-gcc -Iplatform/os/Huawei_LiteOS/kernel/include -Iconfig -DCONFIG_TEE_HUKS_SUPPORT -DCONFIG_CHIP_PKT_32K -DHI_BOARD_ASIC -DHI_ON_FLASH -E build/link/system_config.ld.S -o build/build_tmp/scripts/system_config.ld -P

[OHOS ERROR] nvimg_builder(["build/build_tmp/scripts/system_config.ld"], ["build/link/system_config.ld.S"])

[OHOS ERROR] product_name_list: ['sta']

[OHOS ERROR] xml h file: /home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/h_file/nv

[OHOS ERROR] /home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/out_nv_bin/sta

[OHOS ERROR] app_subver_list: ['demo']

[OHOS ERROR] current subver_name:demo

[OHOS ERROR] root_dir: /home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool

[OHOS ERROR] mdm_xml: /home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/xml_file/mss_nvi_db.xml

[OHOS ERROR] HNV NAME:mss_nvi_db.xml

[OHOS ERROR] nv_tool: /home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/tools/nv/cdbm

[OHOS ERROR] app_subver_temp_dir:/home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/out_nv_bin/sta/nv/Hi3861_wifiiot_app/outside_demo

[OHOS ERROR] mdmxml:/home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/xml_file/mss_nvi_db.xml

[OHOS ERROR] src_xml_list: ['/home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/xml_file/mss_nvi_db.xml']

[OHOS ERROR] combin_xml:/home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/out_nv_bin/sta/nv/Hi3861_wifiiot_app/mss_nvi_db.xml

[OHOS ERROR] root_list [<Element 'HISTUDIO' at 0x7f6d5c82fef0>]

[OHOS ERROR] hi_nv_modify_by_cfg

[OHOS ERROR] cfg_file: nv

[OHOS ERROR] 

[OHOS ERROR] cmd_line= ('/home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/tools/nv/cdbm', '/home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/out_nv_bin/sta/nv/Hi3861_wifiiot_app/outside_demo/nv.xml', '/home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/h_file/nv', '/home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/out_nv_bin/sta/nv/Hi3861_wifiiot_app/outside_demo/nv')

[OHOS ERROR] /home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/out_nv_bin/sta/nv/Hi3861_wifiiot_app/outside_demo/nv.xml

[OHOS ERROR] /home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/h_file/nv

[OHOS ERROR] /home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/out_nv_bin/sta/nv/Hi3861_wifiiot_app/outside_demo/nv

[OHOS ERROR] ===========Init HDB Start===========

[OHOS ERROR] *********strDataTypeDefPath:/home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/h_file/nv/../nv/nv_modem_struct_def.txt

[OHOS ERROR] *********strDataTypeDefPath:/home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/h_file/nv/../nv/nv_modem_struct_def.txt

[OHOS ERROR] *********strDataTypeDefPath:/home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/h_file/nv/../nv/nv_factory_struct_def.txt

[OHOS ERROR] ===========Init HDB finish===========

[OHOS ERROR] ===========Write NV Buffer To File===========

[OHOS ERROR] ===========Write NV Buffer Finish===========

[OHOS ERROR] RETURN VALUE:0

[OHOS ERROR] dst_hnv= /home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/out_nv_bin/sta/nv/hnv/Hi3861_wifiiot_app.hnv

[OHOS ERROR] Factory NV total num:10

[OHOS ERROR] NV_FILE_STRU :28

[OHOS ERROR] Factory NV total size:824

[OHOS ERROR] Normal NV total num:13

[OHOS ERROR] NV_FILE_STRU :28

[OHOS ERROR] Normal NV total size:766

[OHOS ERROR] build hnv OK:/home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/tools/nvtool/out_nv_bin/sta/nv/hnv/Hi3861_wifiiot_app.hnv

[OHOS ERROR] ENDING

[OHOS ERROR] riscv32-unknown-elf-gcc -Iplatform/os/Huawei_LiteOS/kernel/include -Iconfig -DCONFIG_TEE_HUKS_SUPPORT -DCONFIG_CHIP_PKT_32K -DHI_BOARD_ASIC -DHI_ON_FLASH -DFLASH_FIRM_START=4248512 -E build/link/link.ld.S -o build/build_tmp/scripts/link.lds -P

[OHOS ERROR] riscv32-unknown-elf-ld -nostartfiles -nostdlib -static --gc-sections -L/home/chinesewts/OpenHarmony/release32_0711/device/soc/hisilicon/hi3861v100/sdk_liteos/build/scripts/../../../../../huawei/hms/hilink/ohos/l0/hi3861/lib/wifi -L/home/chinesewts/gcc_riscv32/bin/../lib/gcc/riscv32-unknown-elf/7.3.0 -Lbuild/build_tmp/libs/app/wifiiot_app -Lbuild/build_tmp/libs/components/at -Lbuild/build_tmp/libs/platform/drivers -Lbuild/build_tmp/libs/platform/system -Lbuild/build_tmp/scripts -Lbuild/libs -Lbuild/libs/hi3861/release/no_mesh -Lbuild/scripts -Lohos/libs -Tbuild/build_tmp/scripts/link.lds -Map=output/bin/Hi3861_wifiiot_app.map -o output/bin/Hi3861_wifiiot_app.out --start-group -ladc -lat -lc_flash -lcfg -lcoap -lcpup -ldiag -ldrv -lflash -lgcc -lgpio -lhistreaminglink -lio -liperf -llitekernel_flash -lltoswpa -llwip -lm_flash -lmbedtls -lmqtt -lparttab -lres_cfg -lsdio -lsec_flash -lspiffs -lsystem -ltsensor -luart -lupg -lwifi -lwifi_flash -lwifiiot_app -lwpa --whole-archive -lbroadcast -lnstackx_util.open -lsamgr -lsamgr_adapter -ldeviceauth_hal_liteos -lhal_iothardware -lhal_update_static -lbootstrap -lwifiservice -lcmsis -lhichainsdk -lcjson_static -lhidumper_mini -lparam_client_lite -lnstackx_ctrl -linithook -lnative_file -lhiview_lite_static -lsamgr_source -lhal_sys_param -lhilog_static -lsoftbus_utils -lutils_kv_store -lposix -lhal_wifiaware -lblackbox -lhievent_lite_static -linit_log -lbegetutil -lmbedtls -lhilog_lite_static -lhota -lwifiaware -lhal_sysparam -lsoftbus_client -ldeviceauth -lsoftbus_adapter -linit_utils -lhal_file_static -lhuks_3.0_sdk -lsoftbus_server_frame --no-whole-archive --end-group

[OHOS ERROR] riscv32-unknown-elf-ld:build/libs/libhistreaminglink.a: file format not recognized; treating as linker script

[OHOS ERROR] riscv32-unknown-elf-ld:build/libs/libhistreaminglink.a:1: syntax error

[OHOS ERROR] scons: *** [output/bin/Hi3861_wifiiot_app.out] Error 1

[OHOS ERROR] BUILD FAILED!!!!

[OHOS ERROR] Failed building output/bin/Hi3861_wifiiot_app.out: Error 1

[OHOS INFO] c targets overlap rate statistics

[OHOS INFO] subsystem     files NO.    percentage    builds NO.    percentage    overlap rate

[OHOS INFO] commonlibrary      1    0.2%      1    0.2%    1.00

[OHOS INFO] communication    210    35.7%    210    35.7%    1.00

[OHOS INFO] distributeddatamgr    2    0.3%    2    0.3%    1.00

[OHOS INFO] hiviewdfx    17    2.9%    17    2.9%    1.00

[OHOS INFO] security    176    29.9%    176    29.9%    1.00

[OHOS INFO] startup    24    4.1%    24    4.1%    1.00

[OHOS INFO] systemabilitymgr    15    2.5%    15    2.5%    1.00

[OHOS INFO] test    25    4.2%    25    4.2%    1.00

[OHOS INFO] third_party    93    15.8%    93    15.8%    1.00

[OHOS INFO] thirdparty    93    15.8%    93    15.8%    1.00

[OHOS INFO] updater    4    0.7%    4    0.7%    1.00

[OHOS INFO] xts    25    4.2%    25    4.2%    1.00

[OHOS INFO] 

[OHOS INFO] c overall build overlap rate: 1.00

[OHOS INFO] 

[OHOS INFO] 

[OHOS ERROR] Please check build log in /home/chinesewts/OpenHarmony/release32_0711/out/hispark_pegasus/wifiiot_hispark_pegasus/build.log

真是太麻烦了。

3861编译过了,目前看,应该是在下载代码的时候缺少执行了repo forall -c 'git lfs pull'这个注意一下,至于润和的Neptune100开发板,我怀疑后续没有做适配,只有1.1的版本可用。

如图所示,执行完hb set之后,会生成ohos_config.json文件,但终端会报错。该文件内容如图所示,有一行目录为空。

根据报错的路径发现,代码中没有终端所示的这个路径,相似路径为Neptune_w800_code/device/board/hihope/neptune100。但是手动更改之后编译,还是会报错误。

我准备从主干重新下载代码试一下

这个还是推荐你在issue或者加一下润和相关的群咨询一下,因为不同版本的OH源码,可能实现之间有一定的差异,我上面的只是一个示例。

不得不说,这环境配起来是真复杂啊,对于新手挺不友好的。

异常信息的截图不是很完整,不是很清楚你说的是哪个json文件。我这边以hispark_pegasus为例,编译的时候,需要在源码根目录下首先有一个config.json的文件,里面会有一些信息。

不知道你说的是否是这个

cke_3168.png

我在Linux虚拟机上编译的,具体情况我在下一层楼说明。

我勒个去,很有可能是“hb版本和源码版本不匹配”。

大版本以为这个问题卡主了,于是只好找Neptune模组的那个旧版本,寻思先编译一下熟悉熟悉编译流程,搞个demo啥的。哪知道在旧版本里使用hb set,报错

百度了一下,说是大概率是由于hb版本和源码版本不匹配。

https://blog.csdn.net/lw_2352/article/details/123199862

于是按着这位同僚的建议,执行了

1.卸载当前版本hb
python3 -m pip uninstall ohos-build
2.到源码根目录下直接安装对应版本hb
pip3 install build/lite

之后老版本就可以用了,我之后试了一下下的大版本,发现也好使了。真是有毒。。。。。。

不过执行完了还有个错误,我再看看,不过hb set起码可以执行了进行平台选择了。

该方法无法解决问题,还请注意。会报invali path错误。

执行命令之后还是这样。

我是根据这个配置的Neptune/doc/1.环境搭建与编译.md · HiHope开源社区/Docs - Gitee.com

我又搜了下,有建议删除重装的,你可以试试。实在不行,推荐你到对应的仓库下面提issue,估计能获得润和比较专业的帮助。

删除重新装,您是说重新下一遍代码是吧。目前看我代码是从这下的https://gitee.com/openharmony-sig/manifest,没问题吧。

现在是遇到另外一个问题了,就是执行hb set选择我完之后,会报invalid path(详见下面3楼),看了一下是说明的路径和工程实际的路径不一样,导致那个.json无法创建路径。我尝试手动添加也不行。这个您看下呢。

在HarmonyOS鸿蒙Next中,hb set命令用于设置当前项目的根目录。执行该命令后,系统会记录当前目录为项目的根目录,后续的构建和编译操作将基于该目录进行。如果遇到hb set命令无法正常使用的问题,可以检查以下几点:

  1. 确保hb命令已正确安装,并且其路径已添加到系统的环境变量中。
  2. 确认当前目录下存在ohos_config.jsonbundle.json等配置文件,这些文件是hb set命令识别项目根目录的关键。
  3. 确保当前用户对项目目录有足够的读写权限。

如果问题仍未解决,可以尝试重新安装DevEco Studio或更新HarmonyOS SDK。

回到顶部