【HarmonyOS NEXT】FAQ之DevEco Studio(工程管理)

打印 上一主题 下一主题

主题 842|帖子 842|积分 2526

1、环境诊断、创建工程/模块界面全部表现空白

A:导致该问题的大概缘故原由为电脑GPU不兼容,或在云桌面的场景下使用DevEco Studio。
在DevEco Studio中双击Shift,在弹出的窗口中搜索Registry...在Registry页面中勾选ide.browser.jcef.gpu.disable项,关闭窗口并重启DevEco Studio即可。



2、打开历史工程,报错提示“Install failed FetchPackageInfo: hypium failed”

A:导致该问题的大概缘故原由为包名使用错误。在工程级oh-package.json5中,将devDependencies字段下"hypium"修改为"@ohos/hypium"。hypium具体版本信息请参考配套关系。



3、怎样将HSP(动态共享包)转为HAR(静态共享包)

A:如下步骤

  • 在HSP下的module.json5中,把"type": "shared"修改为"type": "har",删除"deliveryWithInstall"、"pages"字段。
  • 删除HSP中的页面,假如要以页面的情势使用到的话,就需要改为命名路由/navigation的写法。
  • 然后再找到HSP下的hvigorfile.ts文件,将内里的hspTasks改为harTasks。
  • 末了编译该模块即可。假如编译过程中遇到其他错误,按照提示找到对应位置修改即可。

4、怎样将HAR(静态共享包)转为HSP(动态共享包)

A:如下步骤

  • 新建一个HSP,将HAR包拷过来放到一个lib目次,在HSP的oh-package.json5里的dependencies下设置HAR包。
    1. "dependencies": {  "myhar": "file:./lib/myHar.har" // myHar.har路径:oh-package.json5文件同目录下的lib文件夹下面}
    复制代码
  • 在HSP的Index.ets里直接导出HAR的内容。
    1. export * as myhar from 'myhar';
    复制代码
  • 末了编译该HSP即可。

5、打印较长的日志内容时,DevEco Studio控制台怎样设置

A:如下

  • 可以导出日志:Help->Show Log in Explorer。
  • 可以改变DevEco控制台的日志输出设置:File->setting->Editor->General->Console下,点击Override console cycle buffer size选项,自界说大小。

6、DevEco Studio怎样自动install依靠

A:DevEco Studio在以下三种场景会自动install依靠:

  • 打开工程,自动install所有模块中的依靠。
  • 手动点击File > Sync and Refresh Project,自动install所有模块中的依靠。
  • 手动点击Build > Build Hap(s)/App(s)大概Build > Rebuild Project时,自动install所有模块中的依靠。

7、怎样关闭DevEco Studio自动格式化功能

A:假如是复制C/C++的代码到IDE中会自动格式化,可以在File -> settings打开设置界面,搜索Code Style,找到C/C++,选择Other,去掉Format On Paste的勾选

8、构建HAP包报错hap-sign-tool: error: Missing parameter: compatibleVersion

A:可以看出是在使用hap-sign-tool工具时出现了错误,根据错误形貌问题是缺少了一个参数compatibleVersion。



9、怎样将HAR工程中引入的其他HAR的接口对外暴露

如今有一个HAR工程引入公司内部其他产品的har包,如今想通过一个HAR的方式对外提供。有没有对应设置方法?
例如:a.har工程里包罗并使用了b.har如今需要对外提供a.har,使其对外暴露的接口功能中,涵盖b.har所有对外功能。能否通过设置进行实现。
A:可以将b.har中的所有接口对外导出的时间使用namespace进行导出:如导出b.har的工具中多个方法
b.har根目次下的Index.ets


在a.har根目次下的Index.ets文件中,添加如下内容:


外部调用



10、怎样办理mac启动IDE报错提示“devecostudio”不测退出问题

A:问题根因:非常修改了jetbrain启动脚本中的环境变量,导致java假造机无法启动,IDE无法打开,弹窗报错。
规避措施:删除启动脚本(/Users/{USER_NAME}/Library/LaunchAgents/jetbrains.vmoptions.plist),重启mac。

11、应用IDE升级到Canary2之后,版本号报“ohpm ERROR : Found exception: Error : The version xxxxx of dependecy xxxx”错误

A:之前本地依靠冲突时是随机安装的没有检查实际版本号,如今加上这个逻辑这个版本号就必须要校验,当本地文件(.har或.tgz后缀)依靠之间、本地源码模块依靠之间、本地文件(.har或.tgz后缀)依靠与本地源码模块依靠之间出现冲突时,ohpm自动冲突处理机制会比较该依靠内部oh-package.json5文件中version字段设置的版本号大小,版本号大的将会被安装。


需要修改version字段后重新出包
一般报错都是因为HAR包内里的version是4段的
关于HAR包修改成三段的命名要求:并没有要求,重要是version字段必须是x.x.x

12、怎样办理Windows体系使用IDE时SDK卸载失败,报“Unable to rename the file. Cause:Unable to delete D:\xxx\HarmonyOS-NEXT-DP1”错误

A:如下步骤
1、打开任务管理器
2、切换到“性能”页签
3、点击下方“打开资源监督器”


4、把上方提示的路径D:\xxx\HarmonyOS-NEXT-DP1粘贴到关联的句柄窗口右侧搜索栏,回车搜索占用的历程,竣事该历程即可。



13、.h文件中uint8_t无法使用怎样办理?

A:如下

  • 在CPP导入头文件修改如下:
    1. #ifdef __cplusplusextern “C” {#endif#include “MGDolphinTOTP.h”#include “MGDolphinTOTPsha1.h”#ifdef __cplusplus}#endif
    复制代码
  • CMakeLists.txt 中需要增加 .c 文件进行编译 :
    add_library(entry SHARED hello.cpp NapiTest.cpp MGDolphinTOTP.c MGDolphinTOTPSha1.c)

14、怎样查看混淆后的效果

A:从代码生成的编译产物看混淆的可以从附件的三个地方查看,具体可以参考文档:Arkguard在DevEco Studio中的用法
请确认开启了哪些混淆选项,如:
-disable-obfuscation 关闭所有混淆
-enable-property-obfuscation 开启属性混淆
-enable-toplevel-obfuscation 开启顶层作用域名称混淆
-enable-filename-obfuscation 开启文件/文件夹名称混淆
-compact 去除不须要的空格符和所有的换行符
-remove-log 删除所有console.*语句
-apply-namecache filepath 复用指定的名称缓存

15、怎样使用DevEco Studio上的Git工具进行多远程仓管理

A:添加新的远程仓库:

  • 右击Remote调出菜单。
  • 点击Manage Remotes,打开Git Remotes窗口。


  • 点击添加按钮。
  • 输入远程仓名称和URL,远程仓名称本身自由命名。
  • 点击Define Remote窗口的OK按钮,在新弹出的窗口中输入域账号和密码。
  • 点击Git Remotes窗口的OK按钮。


  • 点击拉取远程所有远程纪录,新添加的远程仓库会在Remote下子菜单中表现出来。


Push提交:
Push提交和Push提交到远程仓库基本一样,假如有需要的话,单击下图中标志1的分支名可以切换远程仓,标志3表示以PR方式提交。


切换默认关联的远程仓库:
可以使用以下命令切换。
  1. git branch hmos_dev_20230907 --set-upstream-to=codehub_origin/hmos_dev_202309
复制代码

16、怎样通过离线方式安装npm包

A:如下
前置条件


  • 有网环境PC一台。
  • 离线环境PC已有node基础环境。
  • 离线环境PC需安装Verdaccio工具(可通过以下安装离线包的方式来安装工具)。

  • 在有网环境下将所需依靠通过npm-pack-all工具包将所有依靠项打包成.tgz文件。

    • 安装npm-pack-all:ohpm install -g npm-pack-all。
      ohpm install –g husky(npm-pack-all依靠)。
    • 下载所需依靠包:ohpm install –g + 包名(以下截图以webpack为例)。
    • 进行全局npm包的路径并制作离线安装包:cd C:\Users\用户名\AppData\Roaming\npm\node_modules\包名,接着运行指令:ohpm-pack-all。

  • 生成的.tgz文件拷贝到目标PC(无网环境PC),通过npm离线安装指令安装tgz文件。

    • 成功拷贝到目标PC机之后,执行以下指令:ohpm install XXXX.tgz,即可安装离线安装包。

  • 成功之后重新设置离线PC中npm的地点路径,将registry路径设置为本地路径。

    • 这里需要使用Verdaccio工具来搭建源来提供离线开发环境,所以需要在离线PC中装好Verdaccio,安装成功之后运行以下命令:Verdaccio。
    • 运行成功之后将会在本地搭建一个npm服务器,接着再开启一个cmd窗口执行一下命令:ohpm config set registry http://127.0.0.1:4873,然后再执行npm config get registry(查看设置成功没有)。

  • npm本地服务器搭好之后,进入相应项目目次即可更新依靠项,到项目目次下执行以下命令即可在无网环境下更新项目标npm依靠库。

    • ohpm install。
    • 注:如若出现以下问题,是因为本地库缺少依靠,需要从有网环境下拷贝过来(跟上面同操作)。


17、关于多个har依靠问题

例如:harA依靠harB和harC,harB依靠harC,怎样构建依靠。
A:如下

  • 直接依靠和间接依靠都上仓,采取版本号情势依靠!
  • 假如不上传仓库,推荐使用:直接依靠和间接依靠的har包都获取了放到工程中,用overrides指向工程中的har包路径。
  • 假如子依靠是本地har依靠,则需要放到直接依靠的模块内里去依靠然后构建出.har给其他工程用例如:A依靠B.har,B.har依靠C.har,那么构建B.har的时间,C.har需要放到B模块中去依靠构建出B.har。这种方式终极是会有多份。

更多详情查看:文档中央

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大号在练葵花宝典

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表