前言

  • 最近在将一些现有的OpenHarmony工程迁移到新的Atomgit代码托管平台,并同步适配到最新的OpenHarmony 6.0版本,期间踩了一些坑,也积累了一套行之有效的操作流程。今天就把这份“踩坑指南”和“操作手册”整理分享给大家,希望能帮助有类似需求的小伙伴少走弯路!

第一部分:代码仓库大迁移(Atomgit篇)

如果你的代码还在本地或者别的平台,想要迁入Atomgit,按照下面几步走,轻松搞定。

创建新的“家”:在Atomgit上新建项目

  • 首先,我们需要在Atomgit上为你的代码创建一个新的仓库。这个过程和Gitee、GitHub类似,按平台指引操作即可。

把“空房子”拉到本地:克隆新仓库

  • 在本地找一个合适的目录(比如 D:\DEVfile),打开终端(CMD或Git Bash),执行Atomgit提供的克隆命令。这会拉取一个几乎为空的仓库到本地。

git clone https://atomgit.com/your-username/your-project.git

找到“老家当”:准备旧项目代码

  • 将你准备迁移的旧项目代码,整个下载或复制到本地一个临时位置。


开始“搬家”:复制文件

  • 很简单,把上一步中旧项目文件夹里的所有文件和文件夹,全部复制到第二步克隆下来的新仓库文件夹里。

推送“新家”:提交并推送代码

  • 关键步骤来了!在克隆下来的仓库目录下打开终端,依次执行以下Git三部曲:
// 第一步:将所有更改添加到暂存区
git add .

// 第二步:提交更改到本地仓库,并写个清晰的备注
git commit -m "V1.0上传"

// 第三步:将本地代码推送到远程的Atomgit仓库
git push origin main

踩坑点

踩坑点一:首次推送需要认证
- 执行 `git push`时,可能会提示你输入用户名和密码。这里需要的是**访问令牌**。
- 请进入Atomgit的【个人设置】->【访问令牌】。

- 创建一个新的令牌(Token),然后在命令行提示输入密码时,直接粘贴这个令牌即可。
踩坑点二:git commit命令无响应

- 这个问题通常是因为Git初次使用时没有配置用户信息。
- 在Atomgit你的项目页面上,找到“克隆”按钮下的“全局配置”命令。

- 将这两行命令复制到终端执行,配置你的用户名和邮箱,之后就可以正常提交了。


第二部分:设备升级实战(DAYU200升级OpenHarmony 6.0)

代码迁好了,接下来让我们把DAYU200开发板升级到最新的OpenHarmony 6.0系统。

基础准备:安装驱动

  • 在开始烧录前,请确保电脑已安装DAYU200的烧录驱动


获取并烧录官方镜像

  • b. 烧录镜像

    • 导入镜像源配置。注意: 这里需要选择你实际解压后的镜像文件路径。



  • 让DAYU200进入烧录模式:
    • step1:按住板子的VOL-(或RECOVERY)键不松开
    • step2:在1.5秒时短暂按一下RESET键。此时,烧录工具会显示“发现一个LOADER设备”。

  • 将DAYU200通过烧录线与电脑连接,在工具上点击“执行”按钮,开始烧录。烧录成功后,工具会提示“下载完成”。



第三部分:代码版本适配(OpenHarmony 6.0 API适配)

系统升级后,原有的工程代码可能需要适配新的API。以一个SimpleCalculator工程为例。

基础迁移配置

 1. 使用DevEco Studio打开工程
     直接用DevEco Studio 6.0打开你从Atomgit拉取下来的工程。

 2.使用迁移助手(Migrate Assistant)
     这是官方提供的自动化迁移工具,可以一键处理大部分常见的API变更,非常方便!


 3.同步与编译
      完成自动迁移后,点击Sync Project同步工程,然后尝试编译Build Project,查看是否有错误。

 4.配置应用签名
     为了能安装到真机上,需要为应用配置签名。在DevEco Studio中完成签名配置后,等待构建成功。


手动修改API(迁移助手未覆盖的部分)

自动迁移工具很强大,但可能无法覆盖所有情况,需要手动修改。以下是我遇到的具体例子:

  1. 替换Ability的导入路径
    a. 在 EntryAbility.ts文件中,旧的API需要更新为新的模块化API。
    b.修改前:

        c.修改后:

import { hilog } from "@kit.PerformanceAnalysisKit";
import { UIAbility } from "@kit.AbilityKit";
import { window } from "@kit.ArkUI";

        d.如果Ability时烧录真机失败,请检查此路径的导入是否正确。


  1. 替换页面路由的导入路径
  • 在页面文件(如 LayoutAlignIndex.etsSecond.ets)中,路由API也需要更新。


  • 修改前后对比
    • 修改前:import router from '@ohos.router';
    • 修改后:import { router } from '@kit.ArkUI';

总结与展望

通过以上步骤,我们成功完成了从代码仓库迁移到设备系统升级,再到代码适配的全流程。整个过程的核心在于细心耐心,尤其是在烧录和API适配环节,一定要看清提示和报错信息。

希望这篇记录能对你有所帮助!如果你在迁移或适配过程中遇到了其他问题,欢迎在评论区留言讨论,我们一起交流进步!

仓库地址:https://gitcode.com/MakerStudio/maker_layout


觉得有用的话,别忘了点个赞❤️和收藏支持一下哦~

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐