开发者自验证
======

#### 简介

在开发的过程中，当开发者完成所需[适配流程](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/adaptation-process)后，可导入提前准备好的APK应用沙箱数据，自验证HarmonyOS应用数据迁移适配结果。

在HarmonyOS应用适配完成并上架到华为应用市场之后，开发者仍需要将终端设备从HarmonyOS升级到HarmonyOS NEXT，[端到端验证](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/e2e-verification)应用数据迁移结果。

#### 开发者自验证流程

#### \[h2\]应用沙箱数据准备

请自行构造APK应用沙箱数据，并将构造好的APK应用沙箱数据按指定格式打包成“{APK包名}.zip”。

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/b7/v3/whAmmK6QSUOIfoJatNxSqA/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=D11F9C1E30297A91DAA41EECA14CA0F6E46A7E38286BBA07ADFE2AD6EBF9E3C5)

在打包‘{APK包名}.zip’文件时，必须使用UTF-8编码格式进行压缩，否则压缩中文命名的文件时，文件名会出现乱码。

| **APK应用沙箱目录** | {APK包名}.zip目录 |
| :-- | :-- |
| /data/user\_de/{userId}/{APK包名}/ | {APK包名}/de |
| /data/user/{userId}/{APK包名}/ | {APK包名}/ce |
| /data/media/{userId}/Android/data/{APK包名}/ | {APK包名}/A/data |
| /data/media/{userId}/Android/obb/{APK包名}/ | {APK包名}/A/obb |

打包好的“{APK包名}.zip”解压后，要满足包含一个“APK包名”根目录，根目录下包含对应沙箱目录文件夹，文件结构如下。

─com.demo.demo
    ├─A
    │  ├─data
    │  └─obb
    ├─ce
    └─de

1.  将打包好的“{APK包名}.zip”推送到外部存储设备（U盘或者移动硬盘），连接终端设备和外部存储设备。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/96/v3/Sag6zdaWR_i9XhncOEKpEA/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=665526A341CC97959530C4F882D47FD2E241902640FBA70D442E5137884C8F6E)
    
    当前终端设备支持识别NTFS格式的外部存储设备，请使用NTFS格式的外部存储设备连接终端设备。
    
2.  在终端设备中，打开“文件管理”应用，长按选中外部存储设备中的“{APK包名}.zip”。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/ce/v3/3EIwbkDbSla_x3pH2PIohA/zh-cn_image_0000002594828408.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=2136C24FD037F0100280B196A36E36151FF79C8925D56D6BA79F222BB3CB8836)
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/aa/v3/XYVqUY8eRqymoekBF14GRQ/zh-cn_image_0000002625187855.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=D5661081193D3D4F1F932135E51DDC90E91A5C969E5A198A76D2655B59F4FFAB)
    
3.  单击“复制”按钮，将数据复制到文件管理器的“下载”目录下，作为后续自验证的测试数据源。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/91/v3/Wb4JLnkAQGazPTFsHTY1Sg/zh-cn_image_0000002625107999.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=8B0FECD2F9A498E791C3D87CEA058A33F6EB0574C1F6DB442EA0B81DB13A629A) ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/37/v3/CBnyPl0nT5ydjbBHREzABQ/zh-cn_image_0000002594668482.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=055B5B5D502BF47D60C33DA8BAD66DE78630F069B7B48C1E8BFCCE14DFC54858)
    

#### HarmonyOS NEXT上模拟验证应用数据迁移

在应用沙箱数据准备好之后，开发者需要先完成所需[适配流程](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/adaptation-process)，再模拟验证应用数据迁移。

1.  安装目标HarmonyOS应用到终端设备。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/34/v3/4WPcEycRSXKSJzZLdmGrYQ/caution_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=0EA284141099C48877D0915DC226E813C69A1F9008F3D245E05B4CCA43ACDD4A)
    
    “迁移调试”工具“205.0.0.110”之前的版本，仅支持调试release签名的应用。
    
    从“205.0.0.110”版本开始，“迁移调试”工具仅支持调试debug签名的应用。请开发者升级到最新版本，并使用debug签名的包验证。
    
    “迁移调试”工具版本查看方式：**设置**\>**应用和元服务**\>**MigrateTool**\>**版本**
    
2.  打开迁移调试工具。迁移调试工具图标如下图所示：
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/26/v3/i_gjd8d3RPaQ1Wd7CnvLoQ/zh-cn_image_0000002594828410.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=35E5DBED78C45930FF366B495A92743DDE2BA9A4CC29A423BEFFB0A4235B873A)
    
3.  在“迁移工具”应用的首页，开发者通过单击“选择”按钮进入设备文件管理界面。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/4d/v3/BZ1haX5KQrGECFIyWpeUkA/zh-cn_image_0000002625187857.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=B96E1D001260A11463EAE80124004541F6B84B66EB260E3D101E5931AF01F103)
    
4.  在设备文件管理界面，单击“浏览”按钮，进入浏览手机内部存储界面。单击“我的手机”，根据之前导入数据的路径，进入手机存储的相应路径，选择需要导入的APK应用数据zip包。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/4a/v3/tldJqQm9QkSzBKxDpG3KfA/zh-cn_image_0000002625108001.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=7B25DBBC95FAB46917D39F995376EDE59AAC9D008A915156C3CBE896BBA7E849) ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/8/v3/54H_nQ9GRW6BSa9s8vvXiQ/zh-cn_image_0000002594668484.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=75E55540F9892CB6CED9F17C7D1E6C6B563EF69F08BAA85150111B51BA3BC898)
    
5.  单击需要导入的APK应用数据zip包后，会返回“迁移调试”工具首页，已选择的需要导入的APK应用数据会显示在第一栏中。选择好需要导入的APK应用数据后，单击“请输入应用包名”。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/3d/v3/YTU-no69RPuzrOouv6zzWw/zh-cn_image_0000002594828412.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=220F183B67955279545D71CA4EFAD9616ACB1908B27AA67B324BE5B488AC8118)
    
6.  输入需要验证的目标HarmonyOS应用包名，目标HarmonyOS应用会显示在“迁移调试”工具首页的第二栏中。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/75/v3/a--Qp8EeQoCTIAE8bTBbVg/zh-cn_image_0000002625187859.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=60663673AD9281295326EA7F632E3A879DCF55AEBD9BE16331D3261335829DE0)
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/df/v3/3VOX2V3vRq6hOw4BdfKNgg/zh-cn_image_0000002625108003.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=9230D23EE1CCF12B623032BCAA580A2455359C7B62B8D2CB87DCEB4D96D8CE55)
    
7.  选择需要导入的APK数据和目标HarmonyOS应用后，单击“启动迁移”按钮，开始模拟数据迁移，页面切换为数据优化界面，应用数据迁移的进度在数据迁移进度条中显示。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/cf/v3/4-gcMtdZRGOjtkvGyVydzw/zh-cn_image_0000002625187859.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=C9339CEA4BF127C0639FCAA693B861BEFE3A7460372E7C8006DA1115BF6108D7) ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/72/v3/bIdG4CL2QwWAAXQiivWWjQ/zh-cn_image_0000002594668486.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=126CCB5E1574313564A87B661043D9BA366031C674C3CBAB0C0E263AE5CC1EFF)
    
8.  应用数据迁移完成之后，数据迁移进度条上方显示“已优化完成”，进度更新为100%。数据迁移成功的情况下，界面中无异常提示。单击“完成”按钮，切换回“迁移调试”工具首页，在下方的“迁移日志”版块中显示详细迁移信息。result字段表示数据迁移结果，costTime字段表示数据迁移时长（单位ms）。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/7c/v3/AOzSnsmHQJ6EBHCw-whVfA/caution_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=25E917CB9A4408A2CFD605D5BC56651BFEF4128A4154A40B47F1652A3D979454)
    
    **1、此处的数据迁移成功，仅表示“备份恢复框架”接入成功，APK应用的数据成功迁移到“备份恢复框架”需要的指定目录。开发者需要通过从应用的沙箱中获取数据并解析，判断应用适配“备份恢复框架”的结果**。
    
    **2、单个应用数据迁移执行超过十五分钟，超过设定的单个应用最长数据迁移时间，会导致任务执行失败。开发者需要优化应用BackupExtensionAbility的代码实现，在十五分钟内完成应用数据迁移。**
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/25/v3/pw78l8jAQ2qWnOpKSIQ7FA/zh-cn_image_0000002594828414.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=DAC931CA5139586AA19462569BC93C346F1C285412B0612EF4FF85FB2E616D58) ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/65/v3/tOvw7f5bTV6SX6yXI8e1Qg/zh-cn_image_0000002625187861.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=6FA47139DB48F0EAD158470DE94E2B60DB8F792C53E37C60BB5AE0CFFCFD047A)
    
9.  数据迁移失败的情况下，应用图标上方的状态显示“优化失败”。单击“完成”按钮，切换回“迁移工具”应用首页，在下方的“迁移日志”版块中显示详细迁移信息。result字段表示数据迁移结果，costTime字段表示数据迁移时长（单位ms）。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/c6/v3/-LFwutv2QPSwhBAvNHHoOw/zh-cn_image_0000002625108005.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=D4249A8B12970DE67D7D1F06406F9201439C656FB4175B51F0CC0AEF49518EED) ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/44/v3/sduOeGWKQZax3tnGolFFuA/zh-cn_image_0000002594668488.png?HW-CC-KV=V1&HW-CC-Date=20260612T073337Z&HW-CC-Expire=86400&HW-CC-Sign=8B7A6048859656E960F2414CFD10F8D6A50E31ABF345E2CFBADA8951857F3B6F)