1. 项目概述
最近在将OpenHarmony工程从旧平台迁移到Atomgit代码托管平台,并适配到最新的OpenHarmony 6.0版本。这个过程中遇到了不少问题,也积累了一些经验。本文将详细介绍从代码迁移到系统升级再到API适配的全流程,希望能帮助开发者顺利完成类似的项目迁移工作。
2. 代码仓库迁移到Atomgit
2.1 创建新仓库
在Atomgit上创建新项目是迁移的第一步。这个过程与其他代码托管平台类似:
- 登录Atomgit账号
- 点击"新建项目"按钮
- 填写项目名称、描述等信息
- 选择适当的可见性设置(公开或私有)
注意:建议在创建时勾选"初始化README文件"选项,这样克隆到本地时会自动包含一个基础README文件。
2.2 克隆仓库到本地
在本地选择一个合适的工作目录,执行以下命令克隆空仓库:
bash复制git clone https://atomgit.com/your-username/your-project.git
克隆完成后,你会得到一个只包含.git目录和README文件(如果创建时选择了)的空项目目录。
2.3 准备旧项目代码
将需要迁移的旧项目代码整理到一个临时目录中。建议:
- 删除不必要的文件(如构建产物、临时文件等)
- 检查.gitignore文件是否完整
- 确保代码结构清晰
2.4 复制文件到新仓库
将整理好的旧项目代码全部复制到克隆下来的新仓库目录中。这里有几个注意事项:
- 不要覆盖.git目录
- 保留原有的.gitignore文件
- 检查是否有隐藏文件需要复制(如.env等)
2.5 提交并推送代码
完成文件复制后,执行标准的Git操作流程:
bash复制git add .
git commit -m "Initial commit: migrate from old repository"
git push origin main
3. 迁移过程中的常见问题
3.1 认证问题
首次推送时可能会遇到认证失败的情况。解决方法:
- 在Atomgit个人设置中创建访问令牌
- 在命令行提示输入密码时,粘贴访问令牌而非账户密码
提示:访问令牌比密码更安全,可以设置特定的权限和有效期。
3.2 Git配置问题
如果遇到git commit无响应的情况,通常是缺少用户配置。解决方法:
bash复制git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
这些信息会出现在提交记录中,建议使用与Atomgit账户关联的邮箱。
4. DAYU200开发板升级到OpenHarmony 6.0
4.1 准备工作
在开始烧录前需要:
- 安装DAYU200烧录驱动
- 准备Type-C数据线
- 下载烧录工具(如HiTool)
4.2 下载官方镜像
从OpenHarmony每日构建网站获取DAYU200的6.0版本镜像:
- 访问 https://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist
- 找到对应DAYU200的6.0版本镜像
- 下载并解压到本地
4.3 烧录镜像
烧录过程分为几个关键步骤:
- 打开烧录工具并导入镜像配置
- 让DAYU200进入烧录模式:
- 按住VOL-键不松开
- 在1.5秒时短暂按一下RESET键
- 连接开发板与电脑
- 在工具中点击"执行"开始烧录
注意:烧录过程中不要断开连接,等待"下载完成"提示出现。
5. 代码适配OpenHarmony 6.0 API
5.1 使用迁移助手
DevEco Studio提供了Migrate Assistant工具来自动处理API变更:
- 在DevEco Studio中打开项目
- 选择菜单"Refactor" > "Migrate"
- 按照向导完成迁移
这个工具可以处理大部分常见的API变更,如模块路径修改等。
5.2 手动修改API
对于迁移助手无法自动处理的情况,需要手动修改代码。常见需要修改的地方包括:
-
Ability导入路径:
typescript复制// 旧版本 import Ability from '@ohos.application.Ability' // 新版本 import { UIAbility } from "@kit.AbilityKit" -
路由导入路径:
typescript复制// 旧版本 import router from '@ohos.router' // 新版本 import { router } from '@kit.ArkUI' -
日志模块:
typescript复制// 旧版本 import hilog from '@ohos.hilog' // 新版本 import { hilog } from "@kit.PerformanceAnalysisKit"
5.3 编译与签名
完成API适配后:
- 同步工程(Sync Project)
- 尝试编译(Build Project)
- 配置应用签名
- 构建最终版本
6. 常见问题与解决方案
6.1 烧录失败
可能原因及解决方法:
- 驱动未正确安装:重新安装DAYU200烧录驱动
- 开发板未进入烧录模式:严格按照时序操作(先按住VOL-,再点按RESET)
- 数据线问题:尝试更换Type-C数据线
6.2 编译错误
常见编译错误及处理:
- 模块找不到:检查API路径是否正确,参考官方文档
- 类型错误:检查TypeScript类型定义,可能需要更新@types声明
- 资源引用错误:检查资源文件路径,OpenHarmony 6.0对资源管理有调整
6.3 真机运行失败
可能原因:
- 签名配置不正确:检查签名证书和profile配置
- 权限不足:在config.json中添加所需权限
- API级别不匹配:检查设备系统版本与API版本的兼容性
7. 迁移后的验证工作
完成迁移和适配后,建议进行以下验证:
- 基本功能测试:确保核心功能正常工作
- 性能测试:比较迁移前后的性能差异
- 兼容性测试:在不同设备上测试运行情况
- 自动化测试:运行原有的单元测试和UI测试
8. 经验总结
- 迁移前做好充分备份
- 分步骤进行,先完成代码迁移再处理API适配
- 遇到问题时,查阅官方文档和社区讨论
- 保持开发环境的更新,使用最新版的DevEco Studio
- 合理利用自动化工具,但也要准备手动处理特殊情况
整个迁移过程需要耐心和细心,特别是在API适配环节,要仔细检查每个变更点。建议建立一个检查清单,确保不遗漏任何需要修改的地方。