当前位置: 首页 > news >正文

鸿蒙ArkUI-X跨端应用开发,一套代码构建多平台应用

文章目录

  • 一、项目介绍
  • 二、技术架构
  • 三、Gitee仓库地址
  • 四、ArkUI-X开发者文档
  • 五、快速开始——环境准备
    • 1、下载DevEco Studio,版本V4.0 Beta2以上
    • 2、打开DevEco,下载相关环境配置
    • 3、配置开发环境
      • 3.1、OpenHarmony SDK
      • 3.2、安装ArkUI-X SDK
      • 3.2、Android SDK
  • 五、快速开始——创建Hello World项目
  • 六、编译构建生成跨平台应用
  • 六、报错了

一、项目介绍

ArkUI是一套构建分布式应用的声明式UI开发框架。它具备简洁自然的UI信息语法、丰富的UI组件、多维的状态管理,以及实时界面预览等相关能力,帮助您提升应用开发效率,并能在多种设备上实现生动而流畅的用户体验。
详情可参考ArkUI框架介绍

ArkUI-X进一步将ArkUI扩展到了多个OS平台:目前支持OpenHarmony、HarmonyOS、Android、 iOS,后续会逐步增加更多平台支持。
开发者基于一套主代码,就可以构建支持多平台的精美、高性能应用。

二、技术架构

ArkUI跨平台框架整体架构如下图所示,详细设计请参考ArkUI跨平台设计总体说明。请添加图片描述

三、Gitee仓库地址

https://gitee.com/arkui-x

四、ArkUI-X开发者文档

https://gitee.com/arkui-x/docs/blob/master/zh-cn/README.md

五、快速开始——环境准备

让我们来试试开发个Hello World应用。

1、下载DevEco Studio,版本V4.0 Beta2以上

打开ArkUi开发工具配套关系。
请添加图片描述
点击下载Windows(64-bit)

2、打开DevEco,下载相关环境配置

  • 提示是要选择本地的NodeJS,还是下载NodeJS;
  • 提示是要选择本地的ohpm,还是下载ohpm;
  • 点下一步。
  • 提示是要选择本地的HarmonyOS SDK,还是下载HarmonyOS SDK;
  • 点下一步。
  • 点同意协议
  • 点下一步,开始下载…
  • 完成,点Finish.

3、配置开发环境

3.1、OpenHarmony SDK

  • 3.1.1、DevEco在File > Settings > SDK 下,(macOS为DevEco Studio > Preferences > SDK)
  • 选择OpenHarmony SDK
    请添加图片描述

我们可以看到OpenHarmony SDK的Location是空的
点击Location右侧的Edit,为SDK选择存储路径,一直点击Next和accept,开始下载安装后,点击Finish.

  • 3.1.2、下载API Version10 五个软件工具
    请添加图片描述

3.2、安装ArkUI-X SDK

  • 3.2.1、DevEco在File > Settings > ArkUI-X下,点击Location右侧的Edit,为SDK选择存储路径。
    请添加图片描述
  • 3.2.2、在弹出的SDK Setup页面选择存储路径,一直点击Next,直到完成SDK的安装后,点击Finish。

3.2、Android SDK

假设你要生成安卓应用,你还得下载Android SDK。
这里我就不下载配置了。


五、快速开始——创建Hello World项目

1、在DevEco Studio中导入ArkUI-X Sample,快速创建跨平台工程。
请添加图片描述
2、选择OpenHarmony,选择ArkUI-X/HelloWorld,点击Next。
请添加图片描述
3、在工程配置页面,填写Project name和Project location,点击Finish,等待Sample工程导入完成。

六、编译构建生成跨平台应用

请添加图片描述

  • 选择Build Hap编译成鸿蒙应用。
  • 选择Build App编译成鸿蒙应用,并且生成安卓和IOS项目。

六、报错了

compileSdkVersion and releaseType of the app do not match the apiVersion and releaseType on the device.
compileSdk不匹配。
build-profile.json5文件compileSdk版本是10,毕竟官方教程让我选API Version10 ,
而远程设备SDK自多也就版本9,所以报错了…
手头上的鸿蒙4平板也不行。
请添加图片描述
请添加图片描述
暂时搁置了,以后有空再看。

相关文章:

鸿蒙ArkUI-X跨端应用开发,一套代码构建多平台应用

文章目录 一、项目介绍二、技术架构三、Gitee仓库地址四、ArkUI-X开发者文档五、快速开始——环境准备1、下载DevEco Studio,版本V4.0 Beta2以上2、打开DevEco,下载相关环境配置3、配置开发环境3.1、OpenHarmony SDK3.2、安装ArkUI-X SDK3.2、Android SD…...

【鸿蒙软件开发】ArkTS基础组件之Gauge(环形图表)、LoadingProgress(动态加载)

文章目录 前言一、Gauge环形图表1.1 子组件1.2 接口参数介绍 1.2 属性1.3 示例代码二、LoadingProgress2.1 子组件2.2 接口2.3 属性2.4 示例代码 总结 前言 Gauge:数据量规图表组件,用于将数据展示为环形图表。 LoadingProgress:用于显示加载…...

C++模板类用作参数传递

前言 在模板类<>传递参数的一种实现。记不住&#xff0c;以此记录。 // dome.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #define _CRT_SECURE_NO_WARNINGS #include <iostream> //#include "tools.h" #include <fu…...

SQL server 代理服务启动和查看

设置重启 使用管理员权限登录到运行 SQL Server 代理服务的计算机。 打开 Windows 服务管理器。可以通过按下 Windows 键 R&#xff0c;然后键入 "services.msc" 并按 Enter 来打开服务管理器。 在服务列表中&#xff0c;找到 "SQL Server Agent" 服务&…...

单例模式详解【2023年最新】

一、单例模式概念 单例模式是一种创建型设计模式&#xff0c;它确保一个类只有一个实例&#xff0c;并提供一个全局访问点来访问该实例。它的目的是限制一个类只能创建一个对象&#xff0c;以确保在整个应用程序中只有一个共享的实例。 单例模式通常用于以下情况&#xff1a;…...

读高性能MySQL(第4版)笔记21_读后总结与感想兼导读

1. 基本信息 高性能MySQL&#xff1a;经过大规模运维验证的策略&#xff08;第4版&#xff09; High Performance MySQL, Fourth Edition [美] Silvia Botros(西尔维亚博特罗斯)&#xff1b;Jeremy Tinley(杰里米廷利) 电子工业出版社,2022年10月出版 1.1. 读薄率 书籍总字…...

放学辣[简单版]

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 本题和 D 题的唯一区别是 NNN 的范围。 校园里目前有 NNN 名学生&#xff0c;这些学生属于 MMM 个班级。第 iii&#xff08;i1,2,...,Ni 1,2,...,Ni1,2,...,N&#xff09;个人属于第…...

面向对象设计——原型模式

原型设计模式是一种创建型设计模式,其主要目标是创建对象的新实例,同时尽量减少与使用者的交互,以降低对象创建的复杂性。这通过复制(或克隆)现有对象的实例来实现,以获得新对象,而不是通过实例化类来创建。 以下是原型设计模式的关键概念: 原型接口(Prototype Inter…...

SpringAOP源码解析之advice执行顺序(三)

上一章我们分析了Aspect中advice的排序为Around.class, Before.class, After.class, AfterReturning.class, AfterThrowing.class&#xff0c;然后advice真正的执行顺序是什么&#xff1f;多个Aspect之间的执行顺序又是什么&#xff1f;就是我们本章探讨的问题。 准备工作 既…...

CentOS 安装 tomcat 并设置 开机自启动

CentOS 安装 tomcat 并设置 开机自启动 下载jdk和tomcat curl https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz curl https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.15/bin/apache-tomcat-10.1.15.tar.gz解压jdk和tomcat并修改目录名称 tar -z…...

论文阅读——ELECTRA

论文下载&#xff1a;https://openreview.net/pdf?idr1xMH1BtvB 另一篇分析文章&#xff1a;ELECTRA 详解 - 知乎 一、概述 对BERT的token mask 做了改进。结合了GAN生成对抗模型的思路&#xff0c;但是和GAN不同。 不是对选择的token直接用mask替代&#xff0c;而是替换为…...

Android开发知识学习——HTTP基础

文章目录 学习资源来自&#xff1a;扔物线HTTPHTTP到底是什么HTTP的工作方式URL ->HTTP报文List itemHTTP的工作方式请求报文格式&#xff1a;Request响应报文格式&#xff1a;ResponseHTTP的请求方法状态码 HeaderHostContent-TypeContent-LengthTransfer: chunked (分块传…...

51单片机的hello world之点灯

文章目录 前言一、基础定义和点灯二、延时函数三、独立按键三、中断的配置和使用外部中断法捕获中断 总结 前言 hello 大家好这里是夏目学长的51单片机课堂&#xff0c;本篇博客是夏目学长观看B站up主学电超人的视频所写的一篇51单片机入门博客之51单片机点灯以及 独立按键 中…...

Django 实战开发(一)项目搭建

1.项目搭建 用pycharm 编辑器可以直接 New 一个 Django 项目 2.新建应用 python manage.py startapp demo项目结构如下: 3.编写第一个Django 视图函数 /demo/views: from django.http import HttpResponse def welcome(request):return HttpResponse("welcome to dja…...

Unity把余弦值转成弧度和角度

Vector3 RoleForwardV MainRole.transform.forward; Vector3 RoleToMonsterV Monster.transform.position - MainRole.transform.position; float DotResult Vector3.Dot(RoleForwardV, RoleToMonsterV.normalized);//点乘两个单位向量 Mathf.Acos(DotResult); //--它计…...

debian、ubuntu打包deb包工具,图形界面deb打包工具mkdeb

debian、ubuntu打包deb包工具&#xff0c;图形界面deb打包工具mkdeb&#xff0c;目前版本1.0 下载地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1QX6jXNMYRybI9Cx-1N_1xw?pwd8888 md5&#xff1a; b6c6658408226a8d1a92a7cf93834e66 mkdeb_1.0-1_all.deb...

微信小程序如何使用地球半径计算两组经纬度点之间的距离(自身位置与接口返回位置)【上】

目录 1.配置位置权限 2.获取当前自身经纬度 3. 请求接口拿到返回经纬 4. 循环取每一项的经纬 5.如何判断是否打开了定位权限 6.进行距离计算操作 7.运行效果 8.完整代码 首先在使用小程序时&#xff0c;请求的接口一定要去配置合法域名&#xff0c;才能够进行接下来…...

postgis ST_ClipByBox2D用法

官方文档 概述 geometry ST_ClipByBox2D(geometry geom, box2d box); 描述 以快速且宽松但可能无效的方式通过 2D 框剪切几何体。 拓扑上无效的输入几何图形不会导致抛出异常。 不保证输出几何图形有效&#xff08;特别是&#xff0c;可能会引入多边形的自相交&#xff09;…...

【MyBatis Plus】深入探索 MyBatis Plus 的条件构造器,自定义 SQL语句,Service 接口的实现

文章目录 前言一、条件构造器1.1 什么是条件构造器1.2 QueryWrapper1.3 UpdateWrapper1.4 LambdaWrapper 二、自定义 SQL 语句2.1 自定义 SQL 的基本用法2.2 自定义 SQL 实现多表查询 三、Service 接口3.1 对 Service 接口的认识3.2 实现 Service 接口3.3 实现增删改查功能3.4 …...

基于AI与物联网技术的智能视频监控系统架构剖析

智能视频监控系统正逐渐成为我们日常生活和工作中不可或缺的一部分。基于物联网的智能监控系统架构为我们在各个领域提供了更高效、智能化和安全的监控解决方案。本文将以旭帆科技EasyCVR视频监控云平台为例&#xff0c;介绍基于AI、物联网的智能监控系统的架构&#xff0c;并探…...

UI自动化测试--02(Xpath与CSS定位全攻略)

1.Xpath定位xpath和css定位可以利用以下元素的信息来完成定位&#xff1a; 层级结构 元素自身的所有信息 什么是Xpath&#xff1a; 是一种专门在xml文档中找元素的公式&#xff08;表达式&#xff09;&#xff0c;而HTML刚好和XML结构很类似&#xff0c;所以XPATH的表达 式也可…...

小产后吃什么恢复快?科学修护助力身体回归健康

小产对女性身体的损伤不容忽视&#xff0c;气血亏虚、子宫损伤等问题若调理不当&#xff0c;可能留下长期健康隐患。当前&#xff0c;小产后修护已成为女性健康领域的重要关注点&#xff0c;如何通过科学方式实现高效恢复&#xff0c;避免浅层调理带来的后续问题&#xff0c;是…...

遥感项目实战:用SNAP高效处理Sentinel-2多景影像进行地表覆盖分析

遥感项目实战&#xff1a;用SNAP高效处理Sentinel-2多景影像进行地表覆盖分析 当我们需要对大面积区域进行地表覆盖分析时&#xff0c;单景Sentinel-2影像往往无法满足需求。这时&#xff0c;多景影像的拼接与处理就成为关键步骤。本文将带您深入了解如何利用SNAP软件高效处理S…...

Nunchaku-flux-1-dev快速上手:Python环境配置与基础调用代码详解

Nunchaku-flux-1-dev快速上手&#xff1a;Python环境配置与基础调用代码详解 你是不是也对最近火热的AI绘画模型感到好奇&#xff0c;想自己动手试试&#xff0c;但一看到复杂的代码和配置就头疼&#xff1f;别担心&#xff0c;今天我们就来聊聊如何从零开始&#xff0c;用Pyt…...

淘宝任务自动化:重复性操作的智能解放方案 | 每日节省20分钟

淘宝任务自动化&#xff1a;重复性操作的智能解放方案 | 每日节省20分钟 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本&#xff0c;包含蚂蚁森林收取能量&#xff0c;芭芭农场全任务&#xff0c;解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/taojinbi …...

戴森V6/V7吸尘器电池锁死终极解决方案:开源固件修复完整指南

戴森V6/V7吸尘器电池锁死终极解决方案&#xff1a;开源固件修复完整指南 【免费下载链接】FU-Dyson-BMS (Unofficial) Firmware Upgrade for Dyson V6/V7 Vacuum Battery Management System 项目地址: https://gitcode.com/gh_mirrors/fu/FU-Dyson-BMS 您的戴森吸尘器突…...

MySQL基础运维:日志基础之慢查询日志与错误日志 | 作用、配置与查看方法全实战

本文承接MySQL运维系列内容&#xff0c;聚焦新手入门运维最刚需的两大核心日志&#xff1a;错误日志、慢查询日志。 很多新手学习MySQL时&#xff0c;都会遇到两个最头疼的问题&#xff1a;一是MySQL启动失败、运行报错&#xff0c;完全不知道去哪找原因&#xff1b;二是SQL执行…...

如何用FDS火灾动力学模拟器预知建筑火灾的致命威胁?5个关键步骤让你成为安全专家

如何用FDS火灾动力学模拟器预知建筑火灾的致命威胁&#xff1f;5个关键步骤让你成为安全专家 【免费下载链接】fds Fire Dynamics Simulator 项目地址: https://gitcode.com/gh_mirrors/fd/fds 想象一下&#xff0c;当火灾发生时&#xff0c;你能提前知道烟雾会如何扩散…...

C++ Move 构造与深拷贝的性能对比

C Move构造与深拷贝的性能对比 在现代C编程中&#xff0c;资源管理是影响程序性能的关键因素之一。传统的深拷贝虽然能确保数据独立性&#xff0c;但频繁复制大型资源可能导致性能瓶颈。C11引入的移动语义&#xff08;Move Semantics&#xff09;通过转移资源所有权而非复制&a…...

数字游民工作流:OpenClaw+nanobot全球远程办公方案

数字游民工作流&#xff1a;OpenClawnanobot全球远程办公方案 1. 为什么需要自动化全球办公方案 作为一名长期在东南亚各国旅居的数字游民&#xff0c;我深刻体会到跨时区工作的痛苦。凌晨三点被欧洲同事的Slack消息吵醒&#xff0c;错过亚太区的晨会&#xff0c;或是忘记在不…...