鸿蒙Harmony实战:xDevice测试调度实行框架使用指南

打印 上一主题 下一主题

主题 982|帖子 982|积分 2946

简介

xDevice测试调度框架是OpenHarmony中测试底子设施的焦点组件,提供调度主动化用例实行所依靠的相关服务,支持大量主动化用例的调度实行本领,并可自带生成可视化测试报告。而xDevice二进制包会跟踪随OpenHarmony的XTS套件编译,开辟者可以从XTS套件归档路径中获取xDevice工具,
根据设备范例的差别,xDevice主要测试的使命场景有以下三个:


  • 对轻量系统设备进行XTS测试(如:Hi3861开辟板)
  • 对小型系统设备进行XTS测试(如:Hi3516开辟板)
  • 对尺度系统设备进行XTS测试(如:RK3568开辟板)
实现原理

xDevice包罗以下功能模块:


  • command:用户与测试平台下令行交互模块,提供用户输入下令剖析,下令处置惩罚。
  • config:测试框架设置模块,提供测试平台串口毗连方式和USB毗连方式的差别设置选项。
  • driver:测试用例实行器,提供测试用例分发,实行,效果收集等主要测试步骤定义。
  • report:测试报告模块,提供测试效果剖析和测试报告生成。
  • scheduler:测试框架调度模块,提供差别范例的测试实行器调度的调度功能。
  • environment:测试框架的环境设置模块,提供设备发现,设备管理的功能。
  • testkit:测试框架工具模块,提供json剖析,网络文件挂载等操作。
  • log:测试框架日志模块,提供记载使命日志以及设备日志的功能。
除了上述功能模块之外,测试调度框架还依靠了用户自定义设置文件,设置文件主要分为两类。
测试使命设置文件
user_config.xml是框架提供的测试使命设置文件,用户可以根据自身环境信息设置相关内容,主要包罗以下设置内容。
environment环境相关设置,详解介绍如下。
  1. <environment>
  2. <!-- 富设备配置 -->
  3. <device type="usb-hdc">  <!-- type:设备连接方式,usb-hdc表示使用hdc控制设备(默认),当前框架只支持设置一个usb设备 -->
  4.     <ip></ip>        <!-- ip: 远端设备地址,ip和port为空时使用本地设备,非空时使用远端设备 -->
  5.     <port></port>    <!-- port: 远端设备端口号 -->
  6.     <sn></sn>        <!-- sn: 设备串号列表,串号之间使用分号;分隔,sn为空时使用本地所有设备,非空时使用指定的sn设备 -->
  7. </device>
  8. <!-- 轻量系统设备配置 -->
  9. <device type="com" label="wifiiot">    <!-- type: 设备连接方式,com表示连接方式是串口; label: 表示设备种类,如wifiiot -->
  10.     <serial>                           <!-- serial:  表示一个串口定义 -->
  11.         <com></com>                    <!-- com: 表示本地连接的串口,如COM20 -->
  12.         <type>cmd</type>               <!-- type 表示串口类型,cmd是命令串口 -->
  13.         <baud_rate>115200</baud_rate>  <!-- baud_rate、data_bits、stop_bits、timeout: 为串口波特率等串口参数 ,一般采用默认值即可 -->
  14.         <data_bits>8</data_bits>   
  15.         <stop_bits>1</stop_bits>
  16.         <timeout>20</timeout>
  17.     </serial>
  18.     <serial>                        
  19.         <com></com>
  20.         <type>deploy</type>            <!-- type 表示串口类型,deploy是刷机串口 -->  
  21.         <baud_rate>115200</baud_rate>
  22.     </serial>
  23. </device>
  24. <!-- 小型系统设备本地连接配置 -->
  25. <device type="com" label="ipcamera">
  26.     <serial>
  27.         <com></com>                       
  28.         <type>cmd</type>
  29.         <baud_rate>115200</baud_rate>
  30.         <data_bits>8</data_bits>
  31.         <stop_bits>1</stop_bits>
  32.         <timeout>1</timeout>
  33.     </serial>
  34. </device>
  35. <!-- 小型系统设备远端连接配置,可配置多个 -->
  36. <device type="com" label="ipcamera">
  37.     <ip></ip>
  38.     <port></port>
  39. </device>
  40. </environment>
复制代码
测试用例目录设置。
  1. <testcases>
  2.   <!-- dir标签和server标签同时配置时只有一个会起作用 -->
  3.   <!-- 指定测试用例目录,为空则默认设置为当前项目下的testcase文件夹 -->
  4.   <dir></dir>
  5.   <!-- nfs挂载配置,label取值为NfsServer -->
  6.   <server label="NfsServer">
  7.       <ip></ip>             <!-- 挂载环境IP地址 -->
  8.       <port></port>         <!-- 挂载环境端口 -->
  9.       <dir></dir>           <!-- 对应挂载的外部路径 -->
  10.       <username></username> <!-- 登录用户名 -->
  11.       <password></password> <!-- 登录用户密码 -->
  12.       <remote></remote>     <!-- nfs服务器与xDevice执行机不在同一台机器时,remote配置为true,否则为false -->
  13.   </server>
  14. </testcases>
复制代码
资源目录设置。
  1. <resource>
  2.   <!-- 指定资源目录,为空则默认设置为当前项目下的resource文件夹 -->
  3.   <dir></dir>
  4. </resource>
复制代码
日志打印级别设置。
  1. <!-- 默认为INFO,如需更加详细的信息可切换为DEBUG -->
  2. <loglevel>INFO</loglevel>
复制代码
测试套设置文件
设备实行的测试支持套件是由测试设置文件所指定。
每个测试套都都有一个测试设置文件,主要设置了必要使用的测试支持套件(kits)等信息,并支持设置实行预制和整理操作。
以下为设置文件样例。
  1. {
  2.     // 测试支撑套件描述
  3.     "description": "Configuration for aceceshi Tests",
  4.    
  5.     // 指定执行当前测试支撑套的设备
  6.     "environment": {
  7.         "type": "device",
  8.         "label": "wifiiot"
  9.     },
  10.     // 指定设备执行的驱动
  11.     "driver": {
  12.         "type": "OHJSUnitTest",
  13.         "test-timeout": "700000",
  14.         "bundle-name": "com.open.harmony.acetestfive",
  15.         "package-name": "com.open.harmony.acetestfive",
  16.         "shell-timeout": "700000"
  17.     },
  18.     // kit的作用主要是为了支撑测试执行活动,在测试前执行预制操作(Setup),在测试后执行清理操作(Teardown)
  19.     "kits": [
  20.        {
  21.             "type": "ShellKit",
  22.             "run-command": [
  23.                 "remount",
  24.                 "mkdir /data/data/resource",
  25.                 "chmod -R 777 /data/data/resource",
  26.                 "settings put secure adb_install_need_confirm 0"
  27.             ],
  28.             "teardown-command": [
  29.                 "remount",
  30.                 "rm -rf /data/data/resource"
  31.             ]
  32.         },
  33.     ]
  34. }
复制代码
测试下令

测试下令可以分为三组:help、list、run。在指令序列中,以run为最常用的实行指令。

输入help指令可以查询框架指令资助信息。
  1. help:
  2.      use help to get information.  
  3. usage:
  4.      run:  Display a list of supported run command.
  5.      list: Display a list of supported device and task record.  
  6. Examples:
  7.      help run
  8.      help list
复制代码
说明:
help run:展示run指令相关说明 。
help list:展示 list指令相关说明。

list指令用来展示设备和相关的使命信息。
  1. list:
  2.      This command is used to display device list and task record.  
  3. usage:
  4.       list
  5.       list history
  6.       list <id>  
  7. Introduction:
  8.      list:         display device list
  9.      list history: display history record of a serial of tasks
  10.      list <id>:    display history record about task what contains specific id  
  11. Examples:
  12.      list
  13.      list history
  14.      list 6e****90
复制代码
说明:
list: 展示设备信息。
list history: 展示使命汗青信息 。
list : 展示特定id的使命其汗青信息。

run指令主要用于实行测试使命。
  1. run:
  2.      This command is used to execute the selected testcases.
  3.      It includes a series of processes such as use case compilation, execution, and result collection.  
  4. usage: run [-l TESTLIST [TESTLIST ...] | -tf TESTFILE
  5.             [TESTFILE ...]] [-tc TESTCASE] [-c CONFIG] [-sn DEVICE_SN]
  6.             [-rp REPORT_PATH [REPORT_PATH ...]]
  7.             [-respath RESOURCE_PATH [RESOURCE_PATH ...]]
  8.             [-tcpath TESTCASES_PATH [TESTCASES_PATH ...]]
  9.             [-ta TESTARGS [TESTARGS ...]] [-pt]
  10.             [-env TEST_ENVIRONMENT [TEST_ENVIRONMENT ...]]
  11.             [-e EXECTYPE] [-t [TESTTYPE [TESTTYPE ...]]]
  12.             [-td TESTDRIVER] [-tl TESTLEVEL] [-bv BUILD_VARIANT]
  13.             [-cov COVERAGE] [--retry RETRY] [--session SESSION]
  14.             [--dryrun] [--reboot-per-module] [--check-device]
  15.             [--repeat REPEAT]
  16.             action task  
  17. Specify tests to run.
  18.   positional arguments:
  19.    action                Specify action
  20.    task                  Specify task name,such as "ssts", "acts", "hits"
复制代码
run指令根本使用方法如下。
xDevice下令功能示例run xts运行所有指定范例的XTS模块,如acts,hits,ssys等run actsrun -l xxx运行指定的模块测试套,模块间用分号隔离run -l ActsWifiServiceTest;ActsLwipTestrun -sn指定运行设备的SN号,多个SN号用分号隔离run acts -sn 10.117.183.37:17001
run acts -sn 88Y0257723;VEG0216642run -rp指定报告生成的路径,默认会在工作目录的reports下用时间戳或使命ID建立子目录run acts -rp /suites/hits/xdevice_reports/2020.09.28-14.21.26run -respath指定测试资源路径,默以为resource目录run acts -respath /cloud/zidane/xts/release/suites/resourcerun -ta指定模块运行参数,可以指定运行模块用例中指定的用例,多个用例用逗号隔离,目前支持JS驱动测试套run acts -ta classhos.hardware.soundtrigger.SoundTriggerTest#testKeyphraseParcelUnparcel_noUsersrun --retry重新运行上一次使命的失败用例,生成新的测试报告run –retryrun --retry --session 2020-10-30-17-15-11(使命目录名) 测试报告

框架实行run指令,控制台会输出对应的log打印,还会生成对应的实行效果报告。如果使用了-rp参数指定报告路径,那么报告就会生成在指定的路径下。否则报告会存放在默认目录。
  1. 当前报告目录(默认目录/指定目录)
  2.     ├── result(模块执行结果存放目录)
  3.     │     ├── <模块名>.xml
  4.     │     ├──  ... ...
  5.     │      
  6.     ├── log (设备和任务运行log存放目录)
  7.     │     ├── <设备1>.log
  8.     │     ├── ... ...
  9.     │     ├── <任务>.log
  10.     ├── summary_report.xml(任务汇总数据报告)
  11.     ├── summary_report.html(任务汇总可视化报告)
  12.     ├── details_report.html(用例执性可视化报告)
  13.     ├── failures_report.html(失败用例可视化报告,无失败用例时不生成)
  14.     ├── summary.ini(记录测试类型,使用的设备,开始和结束时间等信息)
  15.     ├── task_info.record(记录执行命令,失败用例清单等信息)
  16.     ├── xxxx.zip(对上述文件进行压缩得到的压缩文件)
  17.     ├── summary_report.hash(对压缩文件进行sha256加密得到的文件)
  18.     └── ... ...
复制代码
环境准备

环境要求



  • python版本>=3.7
  • pyserial>=3.3
  • paramiko>=2.7.1
  • rsa>=4.0
安装xDevice



  • 安装底子框架xDevice。

    • 进入xDevice根目录。
      1. cd testfwk_xdevice
      复制代码
    • 打开控制台,实行如下下令。
      1. python setup.py install
      复制代码

  • 安装OpenHarmony驱动插件ohos。

    • 进行plugin/ohos目录。
      1. cd testfwk_xdevice
      2. /plugin/ohos
      复制代码
    • 打开控制台,当前用户下实行如下下令。
      1. python setup.py install
      复制代码

检验环境是否搭建乐成

检验xDevice是否安装乐成。

  • 进入xDevice根目录。
    1. cd testfwk_xdevice
    复制代码
  • 打开控制台,实行如下下令。
    1. python -m pip list
    复制代码
  • 查看是否已经乐成安装xdevice以及xdevice-ohos两个库。
    1. xdevice                 0.0.0
    2. xdevice-ohos            0.0.0
    复制代码
查看xDevice工具是否能够正常运行。

  • 进入xDevice根目录。
    1. cd testfwk_xdevice
    复制代码
  • 打开控制台,实行如下下令。
    1. python -m xdevice
    复制代码
  • 查看控制台是否正常输出如下信息。
    1. [2022-10-13 15:43:31,284] [30076] [Main] [INFO] [*************** xDevice Test Framework 2.11.0.1091 Starting ***************]
    2. [2022-10-13 15:43:31,286] [30076] [ManagerLite] [WARNING] [wifiiot local com cannot be empty, please check]
    3. [2022-10-13 15:43:31,286] [30076] [ManagerLite] [WARNING] [ipcamera local com cannot be empty, please check]
    4. [2022-10-13 15:43:31,287] [30076] [ManagerLite] [WARNING] [device com or ip cannot be empty, please check]
    5. >>>
    复制代码
轻量系统设备XTS测试引导(wifiiot)


  • 识别串口用途,修改根目录中的user_config.xml文件。
    type为cmd的com口对应板子上的AT下令串口,用于对设备发送指令,示例中设置为ChA(COM20)串标语。
    type为deploy的com口对应板子上的日志输出串口,用于镜像烧录和日志打印,示例中设置为ChB(COM18)串标语。
    若AT下令串口和日志输出串口共用,可以设置为相同,即user_config中的type为cmd的com口与type为deploy的com口可设置为一样的端口,如COM18。
    user_config.xml的修改示比方下。
    1. <user_config>
    2.     <environment>
    3.         <device type="com" label="wifiiot">
    4.             <serial>
    5.                 <com>com20</com>
    6.                 <type>cmd</type>
    7.                 <baud_rate>115200</baud_rate>
    8.                 <data_bits>8</data_bits>
    9.                 <stop_bits>1</stop_bits>
    10.                 <timeout>20</timeout>
    11.             </serial>
    12.             <serial>
    13.                 <com>com18</com>
    14.                 <type>deploy</type>
    15.                 <baud_rate>115200</baud_rate>
    16.             </serial>
    17.         </device>
    18.     </environment>
    19.     <testcases>
    20.         <dir></dir>
    21.         <server label="NfsServer">
    22.             <ip></ip>
    23.             <port></port>
    24.             <dir></dir>
    25.             <username></username>
    26.             <password></password>
    27.             <remote></remote>
    28.         </server>
    29.     </testcases>
    30.     <resource>
    31.         <dir></dir>
    32.     </resource>
    33.     <loglevel>DEBUG</loglevel>
    34. </user_config>
    复制代码
  • 在xDevice根目录下新建testcase文件夹用于存放测试套文件,具体XTS测试套从系统构建的逐日构建中获取。
    逐日构建:http://ci.openharmony.cn/dailys/dailybuilds
    测试套测试设置文件json,示比方下。
    1. {
    2.         "description": "Config for ActsAllTest test cases",
    3.         "environment": [
    4.                 {
    5.                         "type": "device",
    6.                         "label": "wifiiot"
    7.                 }
    8.         ],
    9.         "kits": [
    10.                 {
    11.                         "type": "DeployKit",
    12.                         "timeout": "20000",
    13.                         "burn_file": "acts/Hi3861_wifiiot_app_allinone.bin"
    14.                 }
    15.         ],
    16.         "driver": {
    17.                 "type": "CTestLite"
    18.         }
    19. }
    复制代码
  • 实行用例
    进入xDevice根目录;打开控制台进入xDevice控制台,实行如下下令。
    1. python -m xdevice
    复制代码
    实行测试套下令。
    1. run -l ActsAllTest
    复制代码
    实行效果如下。
小型系统设备XTS测试引导(ipcamera)


  • 识别串口用途。
    type为cmd的com口对应板子上的AT下令串口,用于对设备发送指令,示例中设置为ChA(COM20)串标语。
    ipcamera设备有两种毗连方式,一种是本地串口毗连,一种是通过局域网ip毗连。
  • 设置NFS服务器
    NFS挂载方式有两种,一种是远程PC挂载方式,一种是本地局域网挂载方式。
    本地局域网NFS服务的设置方法如下。

    • 下载安装NFS服务器。下载地址:https://www.hanewin.net/nfs-e.htm
    • 设置输出->编辑输出表文件。
    • 添加路径NFS共享路径(如:D:\HS\NFS_Share_File -public –alldirs),这里要注意ftp的IP地址192.168.1.10为开辟板的IP。
    • 停止NFS服务器->重启运行NFS服务器使刚才添加的共享路径见效。
    • 找到ipcamera设备在PC上面映射的网口:控制面板->网络和Internet->网络共享中心->以太网状态->以太网属性->手动设置IP地址为:192.168.1.11。

  • 修改根目录中的user_config.xml文件,示比方下。
    1. <user_config>
    2.     <environment>
    3.         <device type="com" label="ipcamera">     <!--两种方式二选一:本地连接方式-->
    4.             <serial>
    5.                 <com>com20</com>
    6.                 <type>cmd</type>
    7.                 <baud_rate>115200</baud_rate>
    8.                 <data_bits>8</data_bits>
    9.                 <stop_bits>1</stop_bits>
    10.                 <timeout>1</timeout>
    11.             </serial>
    12.         </device>
    13.         <device type="com" label="ipcamera">     <!--两种方式二选一:局域网连接方式-->
    14.             <ip>10.176.49.47</ip>
    15.             <port>10003</port>
    16.         </device>
    17.     </environment>
    18.     <testcases>
    19.         <dir></dir>
    20.         <server label="NfsServer">               <!--两种方式二选一:远程挂载方式-->
    21.             <ip>10.176.48.202</ip>
    22.             <port>1022</port>
    23.             <dir>/data/data/local/</dir>
    24.             <username>root</username>
    25.             <password>xxx</password>
    26.             <remote>true</remote>               
    27.         </server>
    28.         <server label="NfsServer">               <!--两种方式二选一:局域网挂载方式-->
    29.             <ip>192.168.1.11</ip>
    30.             <port>2049</port>
    31.             <dir>D:\test</dir>
    32.             <remote>false</remote>               
    33.         </server>
    34.     </testcases>
    35.     <resource>
    36.         <dir></dir>
    37.     </resource>
    38.     <loglevel>DEBUG</loglevel>
    39. </user_config>
    复制代码
  • 在xDevice根目录下新建testcase文件夹用于存放测试套文件,具体XTS测试套从系统构建的逐日构建。
    逐日构建:http://ci.openharmony.cn/dailys/dailybuilds
    测试套测试设置文件json,示比方下。
    1. {
    2.         "description": "Config for kernel test cases",
    3.         "environment": [
    4.                 {
    5.                         "type": "device",
    6.                         "label": "ipcamera"
    7.                 }
    8.         ],
    9.         "kits": [
    10.                 {
    11.                         "type": "MountKit",
    12.             "server": "NfsServer",
    13.             "mount": [
    14.                 {
    15.                     "source": "testcases/kernel",
    16.                     "target": "/test_root/kernel"
    17.                 }
    18.             ]
    19.                 }
    20.         ],
    21.         "driver": {
    22.                 "type": "CppTestLite",
    23.         "excute": "/test_root/kernel/ActsKernelIPCTest.bin"
    24.         }
    25. }
    复制代码
  • 实行用例。
    进入xDevice根目录,打开控制台进入xDevice控制台,实行如下下令。
    1. python -m xdevice
    复制代码
    实行测试套下令。
    1. run -l kernel
    复制代码
    实行效果如下。
尺度系统设备XTS测试引导(RK3568)


  • 设置hdc工具,从逐日构建上下载ohos_sdk最新版本即可。
    逐日构建地址:http://ci.openharmony.cn/dailys/dailybuilds
    下载工具后,把hdc设置到环境变量中,设置方法:右键单击我的电脑->属性->高级系统设置->环境变量->ath。
  • 实行如下下令查看设备是否正常毗连。
    1. hdc_std list targets
    复制代码
  • 修改user_config.xml文件,示比方下。
    1. <user_config>
    2.     <environment>
    3.         <device type="usb-hdc">
    4.             <ip></ip>
    5.             <port></port>
    6.             <sn>xxx;xxx</sn>                          <!--连接多个设备的SN号用分号分割-->
    7.         </device>
    8.     </environment>
    9.     <testcases>
    10.         <dir></dir>
    11.     </testcases>
    12.     <resource>
    13.         <dir></dir>
    14.     </resource>
    15.     <loglevel>DEBUG</loglevel>
    16. </user_config>
    复制代码
  • 在xDevice根目录下新建testcase文件夹用于存放测试套文件,具体XTS测试套从系统构建的逐日构建中获取。
    逐日构建:http://ci.openharmony.cn/dailys/dailybuilds
    测试套测试设置文件json,示比方下。
    1. {
    2.     "description": "Configuration for hjunit demo Tests",
    3.     "driver": {
    4.         "type": "OHJSUnitTest",
    5.         "test-timeout": "180000",
    6.         "bundle-name": "ohos.acts.bundle.stage.test",
    7.         "module-name": "phone",
    8.         "shell-timeout": "600000",
    9.         "testcase-timeout": 70000
    10.     },
    11.     "kits": [
    12.         {
    13.             "test-file-name": [
    14.                 "ActBmsStageEtsTest.hap"
    15.             ],
    16.             "type": "AppInstallKit",
    17.             "cleanup-apps": true
    18.         },
    19.         {
    20.             "type": "ShellKit",
    21.             "teardown-command":[
    22.                 "bm uninstall -n ohos.acts.bundle.stage.test"
    23.             ]
    24.         }
    25.     ]
    26. }
    复制代码
  • 实行用例。
    进入xDevice根目录,打开控制台进入xDevice控制台,实行如下下令。
    1. python -m xdevice
    复制代码
    实行测试套下令。
    1. run -l ActBmsStageEtsTest
    复制代码
    实行效果如下。
常见题目

hdc list targets能查找到设备,但xDevice识别不到设备。

题目描述
出现如下错误。
可能原因
环境变量中曾设置过HDC_SERVER_PORT变量修改过hdc的端口,由于xDevice默认必要使用8710端口,若曾修改过该端口会导致xDevice框架无法识别设备。
解决方法
查抄是否有设置HDC_SERVER_PROT变量,若有设置,请把该端口的值修改为8710,然后重启xDevice即可。
最后

小编在之前的鸿蒙系统扫盲中,有很多朋侪给我留言,差别的角度的问了一些题目,我明显感觉到一点,那就是许多人加入鸿蒙开辟,但是又不知道从那里下手,由于资料太多,太杂,教授的人也多,无从选择。有很多小伙伴不知道学习哪些鸿蒙开辟技能?不知道必要重点把握哪些鸿蒙应用开辟知识点?而且学习时频仍踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。 
为了确保高效学习,建议规划清楚的学习门路,涵盖以下关键阶段:
 点击→【纯血版鸿蒙全套最新学习资料】希望这一份鸿蒙学习资料能够给大家带来资助~



 鸿蒙(HarmonyOS NEXT)最新学习门路

该门路图包罗底子技能、就业必备技能、多媒体技能、六大电商APP、进阶高级技能、实战就业级设备开辟,不仅增补了华为官网未涉及的解决方案
门路图得当人群:
IT开辟人员:想要拓展职业边界
零底子小白:鸿蒙爱好者,希望从0到1学习,增加一项技能。
技能提升/进阶跳槽:发展瓶颈期,提升职场竞争力,快速把握鸿蒙技能
点击→纯血版全套鸿蒙HarmonyOS学习资料
2.视频学习资料+学习PDF文档
这份鸿蒙(HarmonyOS NEXT)资料包罗了鸿蒙开辟必把握的焦点知识要点,内容包罗了(ArkTS、ArkUI开辟组件、Stage模子、多端部署、分布式应用开辟、音频、视频、WebGL、OpenHarmony多媒体技能、Napi组件、OpenHarmony内核、(南向驱动、嵌入式等)鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技能知识点。
HarmonyOS Next 最新全套视频教程
​​
 (鸿蒙语法ArkTS、TypeScript、ArkUI教程……)

 纯血版鸿蒙全套学习资料(面试、文档、全套视频等)
                   

​​
鸿蒙南向开辟技能
​​
鸿蒙APP开辟必备
​​
《鸿蒙 (OpenHarmony)开辟底子到实战手册》
OpenHarmony北向、南向开辟环境搭建
​​
《鸿蒙开辟底子》
​​
《鸿蒙开辟进阶》

《鸿蒙进阶实战》
​​

点击→纯血版全套鸿蒙HarmonyOS学习资料
总结
总的来说,华为鸿蒙不再兼容安卓,对程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,才能在这个变革的期间中立于不败之地。 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

小秦哥

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表