HarmonyOS nest开发 ——DevEco Studio取经第一难(安装和解决无法创建项目)

536 阅读5分钟

安装

DevEco Studio下载地址,选择对应版本

image.png 下载压缩包,解压后安装在非C盘就行。

运行安装文件,一路点击同意,只需要勾选创建桌面快捷图标就行,其他都不需要勾选。

下载完以后是英文的,在setting中plugins市场中installed(已下载)中搜索Chinese把中文汉化包启用就可以了。

问题(无法创建项目)

然后我就碰到一个无法创建项目的问题。

image.png

image.png

看得到IDE下的一个警告就是JCEF,看这个英文是让我重启IDE或者是关闭GPU加速,我是反反复复重启了几次电脑,重新安装了两遍IDE,关闭了GPU加速,但是还是没有解决。

image.png

折磨了一个小时,最后在华为的官方论坛上找到一个解决办法。

就是在安装的文件bin目录中idea.properties里最后添加一行代码ide.browser.jcef.sandbox.enable=false

然后就解决了这个问题,但是我还是不怎么满足,必须得把这个问题搞清楚才能睡得着觉。

造成问题的原因

如果你用JetBrains 系列 IDE可能会碰到一样的问题。

JetBrains以下的IDE有:

1. IntelliJ IDEA

  • 用途:Java 和 Kotlin 开发。
  • 特点:是 JetBrains 最流行的 IDE,专为 Java 开发者设计,同时支持多种 JVM 语言(如 Kotlin、Groovy、Scala)以及多种框架(如 Spring、Hibernate)。

2. PyCharm

  • 用途:Python 开发。
  • 特点:专为 Python 开发者设计,支持 Django、Flask 等 Python 框架,内置调试器、测试工具和代码分析工具。

3. WebStorm

  • 用途:前端开发。
  • 特点:适用于 JavaScript 和 TypeScript 开发,支持 React、Vue、Angular 等前端框架,以及 Node.js、HTML、CSS 开发。

4. PhpStorm

  • 用途:PHP 开发。
  • 特点:专为 PHP 开发者设计,支持多种 PHP 框架(如 Laravel、Symfony、Drupal),并支持前端开发功能(HTML、CSS、JavaScript)。

5. RubyMine

  • 用途:Ruby 和 Rails 开发。
  • 特点:适用于 Ruby 和 Ruby on Rails 开发,提供调试、测试和版本控制集成。

6. CLion

  • 用途:C 和 C++ 开发。
  • 特点:为 C 和 C++ 开发者设计,支持多种编译器和构建系统(如 CMake、Ninja、Makefiles),并提供强大的代码分析和重构工具。

7. GoLand

  • 用途:Go(Golang)开发。
  • 特点:专为 Go 语言开发者设计,提供 Go 专用的代码补全、重构、调试和测试工具。

8. Rider

  • 用途:.NET 开发。
  • 特点:为 .NET 和跨平台 .NET Core 开发者设计,支持 C#、VB.NET、F#,以及 ASP.NET、Xamarin 和 Unity 开发。

9. DataGrip

  • 用途:数据库和 SQL 开发。
  • 特点:专为数据库管理和 SQL 开发者设计,支持多种数据库(如 MySQL、PostgreSQL、Oracle、SQL Server),提供智能查询编辑器和数据库管理工具。

10. AppCode

  • 用途:iOS/macOS 开发。
  • 特点:为 Swift 和 Objective-C 开发者设计,支持 iOS/macOS 应用开发,并与 Xcode 无缝集成。

11. ReSharper

  • 用途:Visual Studio 插件,用于增强 C# 和 .NET 开发体验。
  • 特点:提供智能代码补全、重构、代码分析和代码生成工具,极大地增强了 Visual Studio 的开发功能。

12. ReSharper C++

  • 用途:Visual Studio 插件,用于增强 C++ 开发体验。
  • 特点:类似 ReSharper,但专门为 C++ 开发者设计,提供代码补全、分析、重构和调试工具。

13. dotTrace、dotMemory、dotCover、dotPeek

  • 用途:这些工具专为 .NET 开发者设计,用于性能分析、内存分析、代码覆盖率分析和反编译。

  • 特点

    • dotTrace:性能分析工具。
    • dotMemory:内存分析工具。
    • dotCover:代码覆盖率工具。
    • dotPeek:反编译工具。

14. MPS (Meta Programming System)

  • 用途:领域特定语言(DSL)开发。
  • 特点:允许开发者创建自己的编程语言或特定领域语言(DSL)。

15. Datalore

  • 用途:数据科学。
  • 特点:用于交互式数据分析和可视化,支持 Python 和机器学习框架,提供 Jupyter Notebook 类似的环境。

DevEco Studio 作为基于 JetBrains 平台(IntelliJ IDEA)的集成开发环境,也使用了 JCEF(JetBrains Chromium Embedded Framework)来支持内嵌浏览器功能。

就是下面这些方面

  • 显卡驱动问题

    • 兼容性或过时的显卡驱动可能导致 GPU 进程频繁崩溃。
  • 硬件加速问题

    • 某些设备或驱动在使用硬件加速时不稳定。
  • Chromium 或 JCEF 的 Bug

    • 由于 DevEco Studio 使用 JCEF 作为内嵌浏览器,某些版本的 JCEF 或 Chromium 本身存在 bug。
  • 系统资源不足

    • 如果系统内存或显存不足,也可能导致 GPU 进程重启。
  • 安全软件干扰

    • 防病毒软件或防火墙可能拦截或监控 GPU 进程。

相应的解决办法

1. 禁用硬件加速

禁用 JCEF 的硬件加速可能解决问题:

  1. 打开 DevEco Studio,然后依次选择 Help > Edit Custom VM Options

  2. 在打开的配置文件中添加以下内容:

    -Dide.browser.jcef.gpu.disable=true
    
  3. 保存文件并重启 DevEco Studio。

2. 更新显卡驱动

确保你正在使用显卡驱动的最新版本,特别是针对开发工具进行了优化的驱动版本。

3. 检查系统资源

关闭其他占用大量 GPU 或内存资源的应用程序,确保 DevEco Studio 有足够的资源运行。

4. 检查安全软件设置

确认你的防病毒软件或防火墙没有阻止或干扰 DevEco Studio 的 GPU 进程。

5. 禁用 JCEF 沙盒模式

如果怀疑是 JCEF 沙盒模式引起的冲突,可以尝试禁用:

  1. 同样通过 Help > Edit Custom VM Options 打开配置文件。

  2. 添加以下内容:

    -Dide.browser.jcef.sandbox.enable=false
    
  3. 保存并重启 DevEco Studio。

总结

我碰到的就是JCEF沙盒模式不兼容的问题,我把它禁用就ok了。JCEF就是一个安全性的问题,禁用对个人开发者应该不大。最后也是成功把Hello World跑出来了。

image.png