论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
软件与程序人生
›
移动端开发
›
鸿蒙
›
鸿蒙不兼容 Android 了怎么办?这个框架了解一下~ ...
鸿蒙不兼容 Android 了怎么办?这个框架了解一下~
缠丝猫
论坛元老
|
2024-11-17 21:02:33
|
显示全部楼层
|
阅读模式
楼主
主题
1002
|
帖子
1002
|
积分
3006
前言
近期 OpenHarmony 4.0 Beta2 发布,同时发布了多平台开发框架 ArkUI-X。
起首介绍下啥是 ArkUI:
ArkTS 是华为自研的开发语言。它在TypeScript(简称TS)的底子上,匹配 ArkUI 框架,扩展了声明式 UI 、状态管理等相应的能力,让开发者以更简洁、更自然的方式开发跨端应用。ArkUI-X 进一步将 ArkUI 扩展到了多个 OS 平台:如今支持 OpenHarmony、HarmonyOS、Android、iOS,后续会逐步增长更多平台支持。开发者基于一套主代码,就可以构建支持多平台应用。
https://developer.harmonyos.com/cn/develop/arkts/
简单来说,
ArkTS + ArkUI-X 对标的框架为 flutter,一次代码,编译为 native 全平台运行。
固然未来 HarmonyOS NEXT 将不能运行 Android APK,但是 ArkUI-X 的跨平台能力似乎让鸿蒙应用可以运行到 Android ,这也算一种反向兼容了吧?
本文内容中会教大家怎样用 ArkUI-X 开发一个 Android APP
1. IDE 获取
1.1 HUAWEI DevEco Studio
起首需要下载支持 ArkUI-X 套件的华为开发工具 DevEco ,版本为 4.0 以上,如今可以下载的最新预览版为 HUAWEI DevEco Studio 4.0 Beta2,有 Window,Mac(Intel),Mac(Arm) 等多个版本可供下载
安装过程很简单,这东西是基于 IDEA 做的,和 Android Studio 体验一致
1.2 Android Studio
ArkUI-X 可以将 ArkTS 项目编译为一个 Android 项目,使用 Android Studio 可以将其打包为 APK。Android Studio 安装方法就不赘述了。
2. 情况搭建
2.1 初次进入
DevEco 安装完成后,初次进入需要设置 nodejs 与 ohpm。可以选择本机已经安装好的路径,若本机没有安装 nodejs 与 ohpm 也可以在这里下载安装。
注意:如今鸿蒙开发支持的 nodejs 版本为 14 和 16,如果本机装了 18 版本的 nodejs 需要先卸载,将全局 nodejs 更换为 16。否则后续项目开发中会遇到各种问题。
上面这段话加粗的目的就是,我昨天头铁使用 nodejs 18 ,踩坑太多了。所以建议大家直接将全局 nodejs 使用 16 版本就行,避免不须要的麻烦。这一点我给官方提了 issue 但是还未收到回复。
之后便是无脑下一步,等它下载完成 SDK 与相关依赖即可(你可以将 SDK 路径设置为其他文件夹)。
2.2 安装 OpenHarmony SDK
相关依赖下载完成,进入 IDE 首页后,先不急着创建项目,需要安装 OpenHarmony SDK。
点击 More Action , 选择 SDK Manager:
选择 OpenHarmony:
选择后需要指定一下路径,然后它会进行一些下载,等它下载完成:
下载完成后,勾选 API Version 10 相关的选项,点击确定等它下载完成:
2.3 安装 ArkUI-X SDK
OpenHarmony SDK 安装完成后,就可以安装 ArkUI-X SDK 了。同样的在设置里面选择 ArkUI-X ,指定路径,等待下载完成。
2.4 设置情况变量
ArkUI-X 需要设置好相应的情况变量才气精确使用。若缺少相关情况变量,会有弹窗提示:
所以在装好 Android Studio 后,需要将 Android SDK 添加至情况变量中:
变量名:ANDROID_HOME
变量值:你的 Android SDK 路径
3. 创建项目
3.1 创建 Harmony OS 工程
上述步调完成后,可以创建项目了。这里有许多 Harmony OS 的底子模板,可以恣意选择一个进行创建:
这里可以不用设置,保持默认即可。我们需要的是这个模板里面的代码:
3.2 创建 OpenHarmony 工程
在创建了一个 HarmonyOS 工程后,我们就进入到了 IDE 的现实界面,在此就可以找到创建 OpenHarmony 工程的选项。
为什么要 OpenHarmony 呢?起首要认识到 HarmonyOS 和 OpenHarmony 的区别。这个具体区别在此我就不讲了,可能会被当做引战引起某些人不满足。只需要知道重点:
ArkUI-X 是基于 OpenHarmony 的技能
。在上一节也可以看到,
使用 ArkUI-X , 需要安装 OpenHarmony SDK
,而没有去进行 HarmonyOS SDK 的相关操纵。
在上面菜单栏选择 File - New - Import - Import Sample:
然后选择 OpenHarmony ,选择 ArkUI-X 下的 HelloWorld
创建完成后进入此项目,等它依赖安装完成,在右上角选择 Previewer ,点击运行,就可以通过 OpenHarmony 预览界面进行预览:
这时一个底子的 OpenHarmony APP 工程就创建完成了。
3.3 移入代码
此时回到之前步调创建的 Harmony OS 工程,将里面的 UI 代码移入进来。
进入 Harmony OS 工程的 entry - src - main 目次,复制里面的 ets 与 resources 目次:
同样的,在 OpenHarmony 工程中删掉这两个目次,更换为从 Harmony OS 工程复制的 ets 与 resources。
上述两个文件夹更换完成后,将同位置的 module.json5 文件中的内容也更换过去
整体步调就是这样:
module.json5 的 deviceTypes 这样写,在预览的时候就可以选择用手机模式照旧平板模式:
再次预览,就可以看到之前通过 Harmony OS 工程模板创建的界面显示在了这个 OpenHarmony 预览界面上
3.4 编译 OpenHarmony 工程
在 DevEco 菜单栏,选择 Build App,在编译为 OpenHarmony App 的同时,也会生成 Android 与 IOS 项目
编译完成后,可以看到生成的 Android 工程了:
3.5 在 Android 中运行
由于 ArkUI-X 编译出来的为 native 文件,只能在 ARM 上运行。Android Studio 提供的模仿器为 x64 架构,所以无法在 Android Studio 的模仿器中预览步调。
将上述生成的 Android 工程导入至 Android Studio ,等待 Gradle 初始化完成:
然后将它打包为 APK :
发送到手机上安装运行,可以看到齐备正常 :
在 LibChecker 中也可以看到该 APP 使用了 ArkUI 的依赖:
总结
至此基于 ArkUI-X 的跨平台开发流程已经初步了解了,后续就是根据华为的文档,学习 ArkTS ,开发实质性的应用步调,以及更深入地进行相关探索。
对于华为的 ArkTS + ArkUI-X 开发框架,整体上我是很看到的。每个技能都有它的长处,都有它存在的意义。React Native、Ionic、uniapp ,使用 H5 技能极大地进步了移动端跨平台开发服从;flutter ,降低了高性能跨平台 APP 开发的门槛;
ArkTS + ArkUI-X ,让国产自研技能到达了一个新高度,完成了从零到一的迈步,让自研不再是 PPT ,不再是“套壳”。
固然 ArkTS + ArkUI-X 如今还有许多不敷之处,比如 DevEco 有不少小 bug ,开发出来的 APP 在过渡动画上略有生硬。不过我相信华为肯定会将它打磨完美,到达真正可以或许比肩 flutter 的程度。
最后,为了可以或许让大家跟上互联网时代的技能迭代,赶上互联网开发人员隆冬期间一波红利,在这里跟大家分享一下我自己近期学习心得以及参考网上资料整理出的一份最新版的鸿蒙学习提升资料,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
缠丝猫
论坛元老
这个人很懒什么都没写!
楼主热帖
【设置ssh免密不起作用?彻底搞懂密钥 ...
关于Servlet的补充知识
kubernetes之镜像拉取策略ImagePullSec ...
【云原生】Docker 进阶 -- 构建自定义 ...
MySQL 8.0 新特性梳理汇总
java如何编写增强for循环呢? ...
基于C#+unity的2D跑酷闯关对战冒险游戏 ...
常见开发模型-敏捷开发与瀑布开发模型 ...
在chatGPT的帮助下成功从Rancher中删除 ...
超融合技术入门:怎样轻松把握这一技术 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
.Net
网络安全
物联网
IOS
快速回复
返回顶部
返回列表