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

使用DevEco Studio开发ArkUI-X约束说明

  • DevEco Studio仅支持ArkUI-X源码开发和调试,各平台Native代码请使用对应平台的IDE编辑器进行开发和调试;
  • ArkUI-X支持在Android/iOS平台真机和模拟器上运行调试;
  • 平台版本及构建工具要求:
    • OpenHarmony平台:支持API 10+;
    • Android平台:Android 8+,Level-26,version code: O,Codename: Oreo;
    • iOS平台:iOS 10+

安装ArkUI-X SDK

  1. 在File > Settings > ArkUI-X(macOS为DevEco Studio > Preferences > ArkUI-X)下,点击Location右侧的Edit,为SDK选择存储路径。
  2. 在弹出的SDK Setup页面选择存储路径,一直点击Next,直到完成SDK的安装后,点击Finish。

配置Android SDK安装目录环境变量

配置环境变量ANDROID_HOME,设置Android SDK安装目录。

  • Windows环境变量设置方法: 在此电脑 > 属性 > 高级系统设置 > 高级 > 环境变量中,新建系统变量。变量名为ANDROID_HOME,变量值为Android SDK安装目录。



    环境变量配置完成后,关闭并重启DevEco Studio。

  • macOS环境变量设置方法:

    1. 打开终端工具,执行以下命令,打开.bash_profile文件。
    vi ~/.bash_profile
    1. 单击字母“i”,进入Insert模式。
    2. 输入以下内容,配置Android SDK安装目录。
    export ANDROID_HOME=/Users/xxx/Library/Android/sdk
    1. 编辑完成后,单击Esc键,退出编辑模式,然后输入“:wq”,单击Enter键保存。
    2. 执行以下命令,使配置的环境变量生效。
    source ~/.bash_profile
    1. 环境变量配置完成后,关闭并重启DevEco Studio。

创建工程

在DevEco Studio中创建跨平台模版工程。

  1. 点击File > New > Create Project。

  2. 在打开的模板市场中,选择[ArkUI-X]Empty Ability,点击Next。

  3. 在工程配置页面,填写Project name和Save location,点击Finish,等待模版工程创建完成。

编译构建生成跨平台应用

DevEco Studio可打包生成不同平台的应用包。

在主菜单栏,单击Build > Build Hap(s)/APP(s) > Build APP(s)。



编译后的ArkTS代码、资源和平台胶水代码已生成到Android和iOS应用工程中,后续安装、运行和调试请使用Android Studio和Xcode。

多端运行效果

我们分别在Harmony、Android和iOS平台运行生成的跨平台应用,查看运行效果。

ArkUI-X跨平台框架接入指南的更多相关文章

  1. 微信公众号开发C#系列-2、微信公众平台接入指南

    概述 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流程是这样的,用户发送消息到微信服务器,微信服务器将接收到的消息post到用户接入时填写的url中,在url处理程序中,首先 ...

  2. 跨平台框架与React Native基础

    跨平台框架 什么是跨平台框架? 这里的多个平台一般是指 iOS 和 Android . 为什么需要跨平台框架? 目前,移动开发技术主要分为原生开发和跨平台开发两种.其中,原生应用是指在某个特定的移动平 ...

  3. .NET跨平台框架选择之一 - Avalonia UI

    本文阅读目录 1. Avalonia UI简介 Avalonia UI文档教程:https://docs.avaloniaui.net/docs/getting-started 随着跨平台越来越流行, ...

  4. C#微信公众号开发系列教程二(新手接入指南)

    http://www.cnblogs.com/zskbll/p/4093954.html 此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可 ...

  5. Grails框架使用指南

    Grails框架使用指南,详解Grails框架!cnxieyang@163.com

  6. Node 框架接入 ELK 实践总结

    本文由云+社区发表 作者:J2X 我们都有过上机器查日志的经历,当集群数量增多的时候,这种原始的操作带来的低效率不仅给我们定位现网问题带来极大的挑战,同时,我们也无法对我们服务框架的各项指标进行有效的 ...

  7. 三年磨一剑,robot framework 自动化测试框架核心指南,真正讲透robot framework自动化测试框架(笔者新书上架)。

    序 关于自动化测试的工具和框架其实有很多.自动化测试在测试IT行业中扮演着越来越重要的角色,不管是在传统的IT行业还是高速发展的互联网行业或是如今的大数据和大热的人工智能领域,都离不开测试,也更加离不 ...

  8. 浅谈跨平台框架 Flutter 的优势与结构

    作者:个推iOS工程师 伊泽瑞尔 一.背景 目前,移动开发技术主要分为原生开发和跨平台开发两种.其中,原生应用是指在某个特定的移动平台上,使用平台所支持的开发工具和语言,直接调用系统提供的API所开发 ...

  9. Mars Android 接入指南

    Mars Android 接入指南 https://github.com/Tencent/mars/wiki/Mars-Android-%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8 ...

  10. 一文读懂跨平台框架 Flutter 的搭建与运行

    作者:个推iOS开发工程师 伊泽瑞尔 Flutter是Google推出的跨平台的解决方案,用以帮助开发者在 Android 和 iOS 两个平台开发高质量原生应用的全新移动 UI 框架. 之前我们为大 ...

随机推荐

  1. 最优化算法Nesterov Momentum牛顿动量法

    这是对之前的Momentum的一种改进,大概思路就是,先对参数进行估计,然后使用估计后的参数来计算误差 具体实现: 需要:学习速率 ϵ, 初始参数 θ, 初始速率v, 动量衰减参数α每步迭代过程:

  2. Qt QVariant 与 自定义类型转换的方法

    Example: 1. 声明自定义类型可用于QVariant,类也能用,也是这样,QT的基本数据类型不用声明就可以用,而且存入是什么类型,拿出来还是什么类型 #include <QMetaTyp ...

  3. ML树构建简明教程

    数据准备 Teamviewer登录实验室服务器,访问http://172.17.128.86:8501/CleanData,按照页面对应的格式要求分别从NCBI和GISAID数据库下载数据,拖拽到对应 ...

  4. Sqoop2 - [01] 安装部署

    1.启动Hadoop集群 2.将Sqoop2的安装包上传到合适的目录中解压 tar -zxvf sqoop-1.99.7-bin-hadoop200.tar.gz 3.修改Hadoop的配置文件cor ...

  5. Qt个人项目总结 —— MySQL数据库查询与断言

    3.Qt项目总结--数据库查询断言问题 问题: 当我使用MySQL数据库的查询操作时, 如果查询的数据在数据库中不存在,那么Qt会直接被干崩溃 但是?为什么呢?不应该是返回if语句中的结果吗,为什么会 ...

  6. 【Matlab函数】提取inp文件中的节点、单元数据并保留集合信息

    功能 提取hypermesh2020(其他版本也可以)中的节点.单元信息,并保留elem set信息. 返回的是一个结构体 输入输出参数 输入: inp文件路径,如:'example.inp'.&qu ...

  7. .NET Core 中如何实现缓存的预热?

    在构建高性能的 .NET Core 应用时,缓存是提升系统响应速度.减轻数据库压力的利器.然而,缓存并非一蹴而就,它也需要"热身"才能发挥最佳性能.这就是缓存预热的意义所在. 一. ...

  8. 用DeepSeek+可灵AI+剪映制作哪吒2走T台秀AI视频 (保姆级教程)

    内容首发周老师的付费社群,挑其中部分内容免费同步给公号读者 今天给大家分享如何利用DeepSeek这类AI工具,制作哪吒2走T台秀视频,保姆级的制作方法,简单易懂,小白也能轻松上手. 关键操作,分为四 ...

  9. eslint-plugin-vue配置中文翻译

    eslint-plugin-vue配置中文翻译 由于 ellint 配置太多,很多小伙伴不知道其功能是什么,在此做个记录. //更详细的配置文档请参考:https://github.com/vuejs ...

  10. 无法解析@NotBlank

    当碰到无法解析的时候,一般都是地址写错了,找不到相应的路劲 我是全局能搜到这个包@NotBlank,在jakarta.validation-api包里面,但是我网上搜https://www.cnblo ...