首页 / 资讯中心 / 文章详情

DevEco Studio 与仓颉插件安装配置实战:从零创建并运行第一个鸿蒙应用

DevEco Studio 与仓颉插件安装配置实战:从零创建并运行第一个鸿蒙应用 ★ FEATURED ARTICLE
示例工程教程【免费下载链接】仓颉编程基础及应用_陈波_何睿_重庆大学《仓颉编程基础及应用》清华大学出版社2025年9月第1版 1. 随书源代码 2. PPT; 3.在线扩展阅读资料。项目地址https://gitcode.com/Cangjie-SIG/Cangjie_Basics_Application点击查看免费下载本文以《仓颉编程基础及应用》随书数字资源中的《DevEco 仓颉鸿蒙应用开发环境的下载安装及配置》为主线完整覆盖安装DevEco Studio、安装仓颉插件、创建鸿蒙工程、创建虚拟手机以及首次部署报错排查的全部操作步骤并结合本仓库 HelloWorld 工程源码 剖析创建出的工程结构。读完后你可以独立完成仓颉鸿蒙开发环境的搭建理解[Cangjie] Empty Ability模板生成的工程骨架并掌握install parse native so failed这一典型部署错误的成因与修复方法。1. 前置条件内测资格与安装包获取使用仓颉开发鸿蒙应用需要安装 DevEco Studio 集成开发环境以及与之配套的仓颉语言插件plugin。需要注意的是截至该文档撰写时2025年4月DevEco Studio 及仓颉插件尚处于内测状态开发者需要登录华为开发者官网申请内测资格方能下载安装。本文所有下载步骤均以 Windows 环境为例读者下载时的具体版本号可能与文中不同。安装包下载步骤如下打开华为开发者官方网站登录登录后选择鸿蒙开发者。如果尚未申请内测权限请依提示进行申请在顶部选择开发然后点击右侧的下载按钮在呈现的下载清单中找到DevEco Studio点击其中的链接下载其 Windows 版本将右侧滚动条下拉找到DevEco Studio-Cangjie Plugin仓颉插件点击其中的链接下载其 Windows 版本。两个文件尺寸都比较大下载需要耗时几分钟至1小时不等可以点击浏览器的下载按钮查看下载进度。下载完成后将得到两个压缩文件DevEco Studio 安装包压缩格式需解压缩后运行其中的可执行安装文件仓颉插件安装包.zip 压缩文件后续步骤 4 中将从磁盘安装它。2. 安装 DevEco Studio选中 DevEco 的安装压缩文件点击全部解压缩在弹出的对话框中点击提取稍等一等解压完成后便得到一个可执行的 DevEco 安装文件用鼠标双击运行该文件启动安装过程。由于文件较大启动过程较慢请保持耐心避免重复点击和启动。待安装向导对话框出现后点击下一步通常使用默认的安装位置即可点击下一步在安装选项对话框中勾选全部 3 个选项然后点击下一步。其中“创建桌面快捷方式”一项关系到后续能否直接从桌面启动 IDE若忘记勾选可按下键盘上的 Windows 徽标键输入deveco搜索启动待确认对话框出现后点击安装然后等待安装完成安装结束后点击完成然后重新启动计算机。3. 首次运行与初始配置安装结束后桌面上应可见 DevEco Studio 图标。双击该图标即可运行 DevEco Studio。首次启动时的初始化流程如下首次运行时会出现提示对话框直接选OK在许可协议页勾选I agree...然后点击Agree按钮进入 Customize 对话框后建议将Color theme配色方案修改为IntelliJ Light浅色主题使 IDE 界面与后续章节中的截图保持一致。4. 安装仓颉插件仓颉插件不能从插件市场在线安装需要在前一步下载的压缩包中取出 .zip 文件走“从磁盘安装”流程在 Customize 页点击All settings....所有设置然后选择Plugins插件页点击右上方的齿轮按钮从弹出菜单中选择Install Plugin from Disk...从磁盘安装插件定位到之前下载好的仓颉插件安装文件注意文件格式为.zip 压缩文件然后点击OK按钮稍作等待后系统提示是否接受第三方插件的安装点击Accept接受按钮接下来便可在 Plugins 列表中看到安装好的Cangjie Support Plugin。依提示点击Restart IDE重启集成开发环境使其生效在随后出现的确认对话框中再次点击Restart。重启完成后IDE 才具备创建和构建仓颉鸿蒙应用的能力。5. 创建第一个鸿蒙应用程序DevEco Studio 重启后点击Create Project创建项目按钮选择Ability Template能力模板拖动右侧滚动条找到并选中[Cangjie] Empty Ability[仓颉]空能力然后点击Next下一步录入项目名称Project name其余保持不变然后点击Finish结束。稍作等待后即可看到名为 HelloWorld 的项目创建完成并在 DevEco 中被打开。点击左侧 Project 栏中的 HelloWorld 可以展开项目的目录结构。6. 剖析模板生成的工程结构结合仓库源码本仓库随书源代码中保留了该模板生成的完整工程位于 BookSourceCode/CH14/HelloWorld/与 DevEco 中看到的目录一一对应是理解各配置文件作用的最佳参照HelloWorld/ ├── AppScope/app.json5 # 应用级配置 ├── entry/ # 默认模块HAP │ ├── src/main/ │ │ ├── cangjie/ # 仓颉源码目录 │ │ │ ├── ability_stage.cj # AbilityStage 实现 │ │ │ ├── main_ability.cj # UIAbility 实现 │ │ │ ├── index.cj # 声明式 UI 组件 │ │ │ └── cjpm.toml # 仓颉包管理配置 │ │ └── module.json5 # 模块级配置 │ ├── hvigorfile.ts │ └── oh-package.json5 ├── build-profile.json5 # 工程级构建配置 ├── code-linter.json5 └── oh-package.json5各关键文件的内容与作用如下1应用级配置 AppScope/app.json5声明应用的 bundleName 与版本号{ app: { bundleName: cn.edu.cqu.helloworld, vendor: example, versionCode: 1000000, versionName: 1.0.0, icon: $media:layered_image, label: $string:app_name } }2模块级配置 entry/src/main/module.json5这是理解能力Ability的关键。可以看到模块声明了deviceTypes为phone即本工程面向手机设备srcEntry指向仓颉 AbilityStage 入口类abilities数组中定义了主入口EntryAbility其srcEntry指向ohos_app_cangjie_entry.MainAbility{ module: { name: entry, type: entry, mainElement: EntryAbility, deviceTypes: [ phone ], srcEntry: ohos_app_cangjie_entry.MyAbilityStage, abilities: [ { name: EntryAbility, srcEntry: ohos_app_cangjie_entry.MainAbility, exported: true, skills: [ { entities: [ entity.system.home ], actions: [ action.system.home ] } ] } ] } }3仓颉入口代码。main_ability.cj 中的MainAbility继承自Ability在onWindowStageCreate回调里通过windowStage.loadContent(EntryView)加载 UI 页面ability_stage.cj 中的MyAbilityStage继承自AbilityStage。两者与 module.json5 中的srcEntry字段一一对应——这正是模板把配置与仓颉源码接线起来的机制。UI 页面 index.cj 使用Entry、Component、State等仓颉 UI 状态宏定义EntryView组件以Row/Column/Text/Button等声明式组件搭建界面。4仓颉包配置 entry/src/main/cangjie/cjpm.toml。从源码结构看该文件揭示了仓颉在鸿蒙上的构建目标模板同时定义了aarch64-linux-ohos真机 ARM 架构与x86_64-linux-ohosx86_64 仿真器架构两个交叉编译 targetcompile-option中通过${DEVECO_CANGJIE_HOME}环境变量引用 IDE 内置的 LLVM 工具链与 musl 根文件系统[package]段的output-type dynamic表明仓颉源码最终编译为动态库.socjc-version 0.48.2记录了模板使用的仓颉编译器版本。这一仓颉编译产物以 native 动态库形式打入 HAP的事实正是第 8 节部署报错的直接根源。5前端依赖 oh-package.json5声明了modelVersion: 5.0.4以及开发期依赖ohos/hypium、ohos/hamock测试框架。7. 创建并运行虚拟手机上述仓颉应用预期在运行鸿蒙系统的 Phone手机上运行需要在计算机上创建一个虚拟的运行鸿蒙系统的手机在 DevEco 中下拉设备列表因无设备当前显示No Devices在菜单中选择Device Manager设备管理器待许可对话框出现后点击Agree同意如出现组件下载确认对话框选择Yes如果上述确认对话框未显示则点击右下角New Emulator新建仿真器按钮选中列表中的第一行——这是一款 6.82 英寸屏幕、520 像素每英寸、屏幕分辨率 1260×2720 像素的手机其上运行HarmonyOS 5.04(16)然后点击 Actions 列的下载按钮。下载过程需要持续几分钟下载完成后点击Finish完成下载完成后列表中第 1 行最后一列的图标变成了垃圾桶说明该虚拟机系统已下载完成。保持第 1 行被选中然后点击Next设置虚拟机的名称、内存及存储空间尺寸。保持默认参数不变直接点击Finish正常的话将出现确认对话框点击OK点击绿色的三角形运行按钮启动虚拟手机。稍等片刻一个虚拟的鸿蒙手机便出现在屏幕上其操作系统正在启动直至进入桌面。图中右侧有一个工具条将鼠标放置在工具条上的按钮上系统会显示提示信息说明按钮的功能此时可以关闭Device Manager设备管理器对话框。8. 部署运行与install parse native so failed错误排查保持虚拟手机呈运行状态再次回到 DevEco Studio可见设备列表中自动显示了正在运行中的虚拟手机例如Huawei_Phone。点击其右侧的三角形运行按钮将当前项目 HelloWorld 部署至虚拟手机并运行。首次运行大概率会失败。DevEco Studio 忙碌好一阵后在 Run 控制台给出下述错误信息控制台中的关键错误行为$ hdc install -p D:\...\tmp\a2c63b27a4fd4ade89f39752b6445b05 in 299 ms Install Failed: error: failed to install bundle. code:9563347 error: install parse native so failed. $ hdc shell aa force-stop com.example.helloworld Launch com.example.helloworld failed, starting handle failure progress Error while Deploy Hap从第 6 节的 cjpm.toml 可知仓颉代码编译产物是 native 动态库。而 x86_64 架构的仿真器无法直接解析仅包含arm64-v8a库文件的 HAP于是系统在解析 native so 阶段报错最终以Error while Deploy Hap告终。修复方法打开工程根目录的build-profile.json5文件在buildOption→cangjieOptions配置段中path行的下一行添加高亮所示的一行使 HAP 同时包含x86_64与arm64-v8a两种架构的库文件对照修改前后的配置应确保添加的位置和内容均正确buildOption: { cangjieOptions: { path: ./src/main/cangjie/cjpm.toml, abiFilters: [x86_64, arm64-v8a] }, ... }保存文件使用快捷键Ctrl S或者菜单项File -- Save All然后再次点击 DevEco Studio 中虚拟手机Huawei_Phone右侧的绿色三角形启动按钮。稍作等待后虚拟手机上出现Hello Cangjie字样说明第一个鸿蒙应用程序成功部署至虚拟手机并运行成功了此时可以点击虚拟手机右侧工具栏顶端的小叉关闭虚拟手机。9. DevEco Studio 的简单操作完成首个应用部署后日常使用中还会高频用到以下基础操作菜单路径功能File -- Close Project关闭当前已经打开的项目File -- Settings进入设置界面File -- Open打开计算机上已存在的项目此外在代码编辑页面左手按住 Ctrl 键不放然后滚动鼠标滚轮可以增大或者减小编辑器字体方便阅读仓颉源码。10. 小结与适用前提本文全部操作步骤以文档撰写时2025年4月的内测版本为准DevEco Studio 与仓颉插件均需通过华为开发者官网申请内测资格后下载版本号、界面细节在新版本中可能发生变化创建工程时使用的模板为Ability Template 下的 [Cangjie] Empty Ability生成的工程骨架可直接对照仓库中 BookSourceCode/CH14/HelloWorld/ 各配置文件学习在 x86_64 仿真器上首次部署仓颉应用遇到install parse native so failed错误码 9563347时按第 8 节方法在build-profile.json5的cangjieOptions段补上abiFilters: [x86_64, arm64-v8a]即可解决。赞分享示例工程教程【免费下载链接】仓颉编程基础及应用_陈波_何睿_重庆大学《仓颉编程基础及应用》清华大学出版社2025年9月第1版 1. 随书源代码 2. PPT; 3.在线扩展阅读资料。项目地址https://gitcode.com/Cangjie-SIG/Cangjie_Basics_Application点击查看免费下载相关推荐三步备份QQ空间全部历史说说免费导出完整指南三步备份QQ空间全部历史说说免费导出完整指南 深夜想翻大学时写的一条说说QQ空间页面怎么滑都停在最近的内容。GetQzonehistory 是一款免费开源工网页爬虫数据分析FastAPI 第一步从零创建、运行并理解你的第一个 API 应用FastAPI 第一步从零创建、运行并理解你的第一个 API 应用 FastAPI 的入门门槛极低——一个文件、几行代码即可得到一个带自动文档与 OpenAP后端Web框架API设计Claude Code Router 如何从零创建并安装第一个 Wrapper 插件Claude Code Router 如何从零创建并安装第一个 Wrapper 插件 如果你想在 Claude Code Router下称 CCR上跑一段自后端API网关LLM 网关大模型创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站