创作

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

HarmonyOS跟Android有什么区别

Huawei_Kirin ? 来源:鸿蒙技术社区 ? 作者:即构忠武 ? 2021-08-16 09:24 ? 次阅读

一直都有人问 HarmonyOSAndroid 有什么区别?华为手机能够适配 Android 应用,那么我们做鸿蒙应用开发能够直接调用 JAR/AAR 包的 API 吗?接下我们就一起来一一验证。

JAR 的 API 调用验证

使用 HarmonyOS 开发工具 DevEco Studio 创建一个项目,我们到 entry→build.gradle→查看 dependencies 的引用包含了 JAR / HAR。

那么是否如截图显示的直接导入 JAR 包就可以调用其 API 呢?我马上就把我厂 Express SDK 的 JAR 导进来。

以下为详细步骤:

①ZegoExpressEngine.jar 包放置到 project 中的 Entry 目录下 libs 文件夹中,在 gradle 中增加 sync project。 ②在程序调用该库(ZegoExpressEngine.jar)的 API。如图显示说明是可以直接调用 JAR 的 API 的:

③那么问题就来了,可以在鸿蒙 resources→layout→xml 里调用 Android 的控件吗?然后我又把 Android 的 v4 包给导进来了。

resources→layou→长按右键→new→Layout Resource File:

如上图所示,鸿蒙的 Layout 是不允许创建 Android 控件的。于是我就手动输入,看会有什么效果:

581aba1a-fdf0-11eb-9bcf-12bb97331649.png

在 Previewer 显示 Initial image data is Iost,说明是不支持这个包的功能。

并且说明鸿蒙是可以直接进行 JAR 的 API 调用,能调用但不一定支持该功能。

如,不支持 Android 的控件,它有自己的组件来进行 UI 的渲染。

5a190a06-fdf0-11eb-9bcf-12bb97331649.png

AAR 的 API调用验证

JAR 能够直接调用 API,那 AAR 呢?重复 JAR 的导入流程导入 AAR。

entry→build.gradle→dependencies 的引用添加 AAR:

5a283030-fdf0-11eb-9bcf-12bb97331649.png

以为很完美,这样就可以直接调用了:

5a3670d2-fdf0-11eb-9bcf-12bb97331649.png

哇,我的 API 呢?证明鸿蒙是不能直接调用 AAR 的方法的。

这样我们就放弃了吗?有没有其他的辅助的手段让我们能够调用 AAR 的方法。

我们知 AAR 的本质是 class.jar + res,基于 JAR 包是可以直接在鸿蒙系统上调用的,所以我们提取 AAR 中的 class.jar 是不是就可以了。

有了这个想法我们就要开始验证:

①把 AAR 后缀修改为 zip 后解压 ,找到 class.jar 并修改昵称为 cardview.jar。

5a71ba0c-fdf0-11eb-9bcf-12bb97331649.png

如上图验证这样是可以直接调用,但是不能每次都手动解压再导入,于是就找了第三方的(aar2jar),为了解决鸿蒙依赖 AAR 库的问题,实现的原理也是解包 AAR,再依赖其中的 class.jar。

②aar2jar,打开链接有依赖流程就不再累赘,新测有效。

https://gitee.com/andych008/aar2jar#https://www.jianshu.com/p/afa35b6a1098

5a80ee1e-fdf0-11eb-9bcf-12bb97331649.png

如上图,成功调用了 logger 的 AAR 库:https://github.com/orhanobut/logger

HAR 的编译过程

创建鸿蒙的项目,默认包含的就是 JAR/HAR。

HarmonyOS 库(HarmonyOS Ability Resources,简称 HAR)可以提供应用构建所需的一切内容,包括源代码、资源文件、HarmonyOS 配置文件以及第三方库。

官网(HAR 的编译流程官网链接)已经详细的讲解了编译过程,就不再累赘。

把我厂的 ZegoExpressEngine.jar 放到 HarmonyOS Library 编译:

5a8ee6d6-fdf0-11eb-9bcf-12bb97331649.png

生成的 har 再放到项目的 libs 进行验证,是可以正常调用的,说明 har 编译成功。

结语

以下为本次验证总结:

鸿蒙应用开发,不能直接使用 Android 上的第三方库。

可以直接引用 JAR 的 API。但不能是运行时强依赖 Android 环境的,不然只能做移植,并做一定的修改。所以不依赖 Android 的 JAR 是可以直接在鸿蒙中使用的。

鸿蒙的 gradle plugin 环境下不能直接依赖 AAR,最好的办法是重新整理 AAR 工程,编译成相应的 HAR。

AAR 运行时不依赖 Android 环境的,可以提取其中的 class.jar,并做依赖。

责任编辑:haq

原文标题:鸿蒙OS和Android到底有什么区别?

文章出处:【微信号:Huawei_Kirin,微信公众号:华为麒麟】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请问Android App可以直接运行在harmonyOS上么?

    如题,现有的Android App可以直接运行在harmonyOS上么。需要做什么额外的操作么。 ...
    发表于 05-25 14:49 ? 263次 阅读

    OTA在线升级Android7.1系统迅为IMX6Q开发板支持SATA,PCIE,EIM总线,WIFI蓝牙

    iTOP-IMX6 开发平台是基于 NXP 的 IMX6 系列芯片开发的产品,该产品广泛应用于车载系统、数字标牌、金融设备、人机界...
    发表于 05-25 10:20 ? 765次 阅读
    OTA在线升级Android7.1系统迅为IMX6Q开发板支持SATA,PCIE,EIM总线,WIFI蓝牙

    华为p50e是鸿蒙系统吗

    华为P50E搭载HarmonyOS 2系统,不仅带来了全新智慧交互体验,而且性能更加流程,隐私安全也....
    的头像 独爱72H 发表于 05-23 14:58 ? 175次 阅读

    Iceraven基于Firefox分支的浏览器

    ./oschina_soft/iceraven-browser.zip
    发表于 05-23 11:38 ? 10次 阅读
    Iceraven基于Firefox分支的浏览器

    K9mail Android的邮件客户端

    ./oschina_soft/k-9.zip
    发表于 05-23 10:35 ? 3次 阅读
    K9mail Android的邮件客户端

    Markor适用于Android的文本编辑器

    ./oschina_soft/markor.zip
    发表于 05-23 09:32 ? 8次 阅读
    Markor适用于Android的文本编辑器

    Google正为Android开发应用归档功能

    有些时候,用户卸载应用的原因之一是为了释放空间。为了避免不必要的卸载,并帮助用户更好地使用他们的设备....
    的头像 谷歌开发者 发表于 05-20 12:05 ? 144次 阅读

    Google Play如何为数十亿用户提供安全的体验

    为数十亿用户提供安全的体验,依然是 Google Play 的首要任务之一。去年,我们推出了多项保护....
    的头像 谷歌开发者 发表于 05-20 11:45 ? 570次 阅读

    Google Flutter如何助力字节跳动跨平台开发

    字节跳动旗下运营着一系列成功的用户产品、企业应用以及服务,覆盖信息、教育、娱乐等不同领域。随着产品阵....
    的头像 谷歌开发者 发表于 05-20 11:06 ? 335次 阅读

    Android Studio Dolphin中重要的功能更新和改进

    在今年的 Google I/O 大会上,我们为 Android Studio 的 Beta 和 Ca....
    的头像 谷歌开发者 发表于 05-20 10:38 ? 153次 阅读

    ThinkMap Android简易思维导图控件

    ./oschina_soft/ThinkMap.zip
    发表于 05-20 09:58 ? 7次 阅读
    ThinkMap Android简易思维导图控件

    Harmony和Android的内核版本有什么含义呢?

    |Android的内核版本指的是linux版本吗?Harmony的内核版本指的也是linux吗?他们两个的内核版本有大佬讲解一下吗? ...
    发表于 05-19 14:44 ? 499次 阅读

    chromeos-apk Chrome上运行APK

    ./oschina_soft/chromeos-apk.zip
    发表于 05-18 15:11 ? 11次 阅读
    chromeos-apk Chrome上运行APK

    ADB IDEA Android Studio和IDEA的安卓开发插件

    ./oschina_soft/adb-idea.zip
    发表于 05-18 11:44 ? 7次 阅读
    ADB IDEA Android Studio和IDEA的安卓开发插件

    AndroidParcelablePlugin Intellij IDEA安卓插件

    ./oschina_soft/AndroidParcelablePlugin.zip
    发表于 05-18 11:40 ? 16次 阅读
    AndroidParcelablePlugin Intellij IDEA安卓插件

    LPS33HW压力传感器是如何做到防水功能的

     为了帮助工程师更快地开发他们的应用程序,ST 提供了适用于 Android 和 Linux 的硬件....
    的头像 星星科技指导员 发表于 05-18 11:12 ? 159次 阅读

    请问鸿蒙中的背景分层怎么做?

    android中是layer-list (layerList)可以用来做多背景层叠显示,鸿蒙中用什么来做,还请大佬指教 ...
    发表于 05-16 14:07 ? 575次 阅读

    Android开发者需要知道的那些事

    世界上仅有为数不多的几个平台可以帮助开发者们轻松构建作品,并分发至全球数十亿用户的各种设备——不仅在....
    的头像 谷歌开发者 发表于 05-14 15:28 ? 400次 阅读

    谷歌正式发布Android 13 看看你的手机适配吗

    谷歌正式发布Android 13 看看你的手机适配吗 谷歌2022年I/O开发者大会成功召开,I/O....
    发表于 05-12 17:06 ? 2974次 阅读

    AinD在Docker中启动Android应用

    ./oschina_soft/aind.zip
    发表于 05-12 14:21 ? 7次 阅读
    AinD在Docker中启动Android应用

    谷歌正式发布Android 13,多款机型适配Android 13开发者预览版

    今日,谷歌在其举办的I/O 2022开发者大会上正式发布了Android系统最新版本——Androi....
    的头像 汽车玩家 发表于 05-12 12:06 ? 311次 阅读

    vivo首批适配Android 13 Beta版本

    2022 年谷歌 I/O 开发者大会正式召开,宣布带来安卓系统最新版本Android 13 Beta....
    的头像 焦点讯 发表于 05-12 10:30 ? 210次 阅读

    谷歌开发者大会2022如约而至:Pixel 6a三款硬件、Android 13重磅发布

    昨日凌晨,谷歌召开22年度开发者大会,大会采用了线上+线下的形式,大会持续了2小时,大会地点在旧金山....
    的头像 lhl545545 发表于 05-12 09:29 ? 200次 阅读

    Play Developer Reporting API入门指南

    品质是您的游戏或应用在 Google Play 上取得成功的基础,而 Google Play 管理中....
    的头像 谷歌开发者 发表于 05-11 14:45 ? 136次 阅读

    Android9.0系统,PCA9450A电源管理,NXP系列,功耗低,迅为i.MX8MM全能版

    *性能强:i.MX8MM处理器采用先进的14LPC FinFET工艺,提供更快的速度和更好高的电源效率;四核Cortex-A53,单核Cor...
    发表于 05-10 10:58 ? 321次 阅读

    TENCENT SOTER腾讯生物认证平台

    ./oschina_soft/soter.zip
    发表于 05-09 10:52 ? 13次 阅读
    TENCENT SOTER腾讯生物认证平台

    QARK安卓应用漏洞检查工具

    ./oschina_soft/qark.zip
    发表于 05-09 09:57 ? 28次 阅读
    QARK安卓应用漏洞检查工具

    androguard Android应用分析程序

    ./oschina_soft/androguard.zip
    发表于 05-09 09:32 ? 13次 阅读
    androguard Android应用分析程序

    APG Android版OpenGPG

    ./oschina_soft/apg.zip
    发表于 05-09 09:26 ? 12次 阅读
    APG Android版OpenGPG

    浅析移除/删除Settings的Preference三种方法

    Platform: RK3399-MID OS: Android 7.1.2 Kernel: v4.4.83 需求: 整理一下移除/删除Settings的Preference三种方...
    发表于 05-07 15:46 ? 3137次 阅读

    JJWT Java 与Android的JWT库

    jjwt.zip
    发表于 05-07 09:33 ? 16次 阅读
    JJWT Java 与Android的JWT库

    Haven将手机变成个人监控系统

    ./oschina_soft/haven.zip
    发表于 05-07 09:14 ? 41次 阅读
    Haven将手机变成个人监控系统

    基于OpenHarmony操作系统的简易示波器开发心得(下)

    三、简易示波器功能的实现1.峰值检测通过查找ad采集的数据内的最大值和最小值,然后相减即得峰峰值。[code]float Get_Vpp(floa...
    发表于 05-06 13:42 ? 3872次 阅读

    LeakTracer内存泄漏问题调试利器

    LeakTracer.zip
    发表于 05-06 10:55 ? 18次 阅读
    LeakTracer内存泄漏问题调试利器

    GT随身调随身调测平台

    GT.zip
    发表于 05-06 10:53 ? 27次 阅读
    GT随身调随身调测平台

    基于AI的机器视觉用于智能零售和工业自动化

    RSL10智能拍摄彩色相机包括彩色和黑白IAS图像传感器模块。两者都基于1/10.3英寸的超低功耗A....
    的头像 星星科技指导员 发表于 05-06 10:03 ? 324次 阅读
    基于AI的机器视觉用于智能零售和工业自动化

    RK3399出现了自己添加的后台服务无法起来的问题该怎么办呢

    Platform: RK3399OS: Android 7.1Kernel: v4.4.83说明:之前在处理mtp的问题将Selinux改成了permissive后,出现了自己添加...
    发表于 04-29 16:25 ? 10858次 阅读

    用超低功耗WI-FI平台简化智能家居

      我们还包括一个Wi-Fi供应应用程序,以及iOS和Android的免费示例源代码。完整的AWS物....
    的头像 星星科技指导员 发表于 04-28 17:07 ? 361次 阅读
    用超低功耗WI-FI平台简化智能家居

    瑞萨R-Car Gen3e系列产品面向车载娱乐系统应用

      R-Car联盟:在R-Car上找到我们合作伙伴的各种解决方案,例如系统集成商、中间件/应用开发商....
    的头像 星星科技指导员 发表于 04-28 10:50 ? 255次 阅读
    瑞萨R-Car Gen3e系列产品面向车载娱乐系统应用

    Android 13第一个Beta版正式发布

    推进完善 Android 13 的功能和稳定性。Android 13 围绕我们的核心主题打造,即隐私....
    的头像 科技绿洲 发表于 04-28 10:34 ? 3831次 阅读

    小编科普一下编译Android11.0固件的步骤

    Android SDKSDK 源码与 bundle 压缩包均存放在云盘中。 第一步,下载 SDK由于 SDK 较大,下载完成后,在解压前先校...
    发表于 04-27 16:55 ? 6869次 阅读

    怎样去搭建一种Android编译环境呢

    编译环境搭建准备工作 编译 Android 对机器的配置要求较高:64 位 CPU16GB 物理内存+交换内存250GB 空闲的磁盘空间 建...
    发表于 04-26 18:09 ? 2991次 阅读

    blockcanary非侵入式的性能监控组件

    blockcanary.zip
    发表于 04-26 10:00 ? 25次 阅读
    blockcanary非侵入式的性能监控组件

    OKT507-C开发板如何在Android系统上进行OTA升级

    OTA升级是Android系统所提供的标准软件升级方式。它功能十分强大,并且提供了完全升级(完整包)....
    发表于 04-22 15:21 ? 55次 阅读

    web3j用于与Ethereum客户端集成的Java和Android库

    web3j.zip
    发表于 04-22 09:27 ? 23次 阅读
    web3j用于与Ethereum客户端集成的Java和Android库

    OpenAuto AndroidAuto车载抬头显示器

    openauto.zip
    发表于 04-21 15:13 ? 37次 阅读
    OpenAuto AndroidAuto车载抬头显示器

    Google Play最新政策更新

    Google Play 帮助我们的开发者社区为数十亿用户提供世界上最具创新和最值得信赖的应用。我们在....
    的头像 谷歌开发者 发表于 04-21 11:46 ? 350次 阅读

    Android游戏开发工具以及游戏调试、打包和分发技巧

    不同的硬件厂商为 Android 用户带来了不同尺寸和体验的设备,因此,我们也一直努力地帮助开发者们....
    的头像 谷歌开发者 发表于 04-21 11:19 ? 306次 阅读

    如何在Jetson Nano上编译部署Anbox

      Anbox运行依赖于bander和ashmem两个驱动,Jetson Nano 2GB目前最新的....
    的头像 星星科技指导员 发表于 04-21 10:38 ? 305次 阅读

    TV_Control手机控制安卓机顶盒

    gitee-tv_control.zip
    发表于 04-20 10:53 ? 48次 阅读
    TV_Control手机控制安卓机顶盒

    Car-eye-device多路行车记录仪

    Car-eye-device.zip
    发表于 04-20 09:51 ? 36次 阅读
    Car-eye-device多路行车记录仪

    Awesome-Android-Architecture架构文章

    Awesome-Android-Architecture.zip
    发表于 04-19 11:24 ? 27次 阅读
    Awesome-Android-Architecture架构文章

    Google Android官方培训课程中文版

    android-training-course-in-chinese.zip
    发表于 04-19 10:45 ? 21次 阅读
    Google Android官方培训课程中文版

    OPENTHOS Android-x86桌面操作系统

    openthos.zip
    发表于 04-18 11:40 ? 61次 阅读
    OPENTHOS Android-x86桌面操作系统

    LXGW WenKai开源中文字体

    LxgwWenKai.zip
    发表于 04-18 11:20 ? 29次 阅读
    LXGW WenKai开源中文字体

    瑞芯刷机工具2.71版免费下载

    RK的刷机工具可以从网上下载,而且无需安装,直接解压到文件夹下即可
    发表于 04-18 09:58 ? 59次 阅读

    比亚迪获广东科技进步奖 微软招聘Android与Windows平融合部门

    近日,比亚迪荣获科技进步奖特等奖和二等奖,比亚迪重点突破了三大新能源技术,成功打造了国内车规级与制造....
    的头像 lhl545545 发表于 04-18 09:42 ? 368次 阅读

    AOSP-RISCV在玄铁910上运行Android 10

    aosp-riscv.zip
    发表于 04-15 10:29 ? 71次 阅读
    AOSP-RISCV在玄铁910上运行Android 10

    快讯:联想控股被证监会责令改正 谷歌推出iOS应用程序

    4月14日,北京证监局发布关于对联想控股公司采取责令改正行政监管措施的决定,决定书中显示,非经营性往....
    的头像 lhl545545 发表于 04-14 10:34 ? 6450次 阅读

    FairPhone环保手机

    FairPhone.zip
    发表于 04-14 09:36 ? 30次 阅读
    FairPhone环保手机
    她的小梨涡完整版免费阅读