衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HarmonyOS跟Android有什么區(qū)別

華為麒麟 ? 來(lái)源:鴻蒙技術(shù)社區(qū) ? 作者:即構(gòu)忠武 ? 2021-08-16 09:24 ? 次閱讀

一直都有人問(wèn) HarmonyOSAndroid 有什么區(qū)別?華為手機(jī)能夠適配 Android 應(yīng)用,那么我們做鴻蒙應(yīng)用開發(fā)能夠直接調(diào)用 JAR/AAR 包的 API 嗎?接下我們就一起來(lái)一一驗(yàn)證。

JAR 的 API 調(diào)用驗(yàn)證

使用 HarmonyOS 開發(fā)工具 DevEco Studio 創(chuàng)建一個(gè)項(xiàng)目,我們到 entry→build.gradle→查看 dependencies 的引用包含了 JAR / HAR。

那么是否如截圖顯示的直接導(dǎo)入 JAR 包就可以調(diào)用其 API 呢?我馬上就把我廠 Express SDK 的 JAR 導(dǎo)進(jìn)來(lái)。

以下為詳細(xì)步驟:

①ZegoExpressEngine.jar 包放置到 project 中的 Entry 目錄下 libs 文件夾中,在 gradle 中增加 sync project。 ②在程序調(diào)用該庫(kù)(ZegoExpressEngine.jar)的 API。如圖顯示說(shuō)明是可以直接調(diào)用 JAR 的 API 的:

③那么問(wèn)題就來(lái)了,可以在鴻蒙 resources→layout→xml 里調(diào)用 Android 的控件嗎?然后我又把 Android 的 v4 包給導(dǎo)進(jìn)來(lái)了。

resources→layou→長(zhǎng)按右鍵→new→Layout Resource File:

如上圖所示,鴻蒙的 Layout 是不允許創(chuàng)建 Android 控件的。于是我就手動(dòng)輸入,看會(huì)有什么效果:

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

在 Previewer 顯示 Initial image data is Iost,說(shuō)明是不支持這個(gè)包的功能。

并且說(shuō)明鴻蒙是可以直接進(jìn)行 JAR 的 API 調(diào)用,能調(diào)用但不一定支持該功能。

如,不支持 Android 的控件,它有自己的組件來(lái)進(jìn)行 UI 的渲染。

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

AAR 的 API調(diào)用驗(yàn)證

JAR 能夠直接調(diào)用 API,那 AAR 呢?重復(fù) JAR 的導(dǎo)入流程導(dǎo)入 AAR。

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

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

以為很完美,這樣就可以直接調(diào)用了:

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

哇,我的 API 呢?證明鴻蒙是不能直接調(diào)用 AAR 的方法的。

這樣我們就放棄了嗎?有沒(méi)有其他的輔助的手段讓我們能夠調(diào)用 AAR 的方法。

我們知 AAR 的本質(zhì)是 class.jar + res,基于 JAR 包是可以直接在鴻蒙系統(tǒng)上調(diào)用的,所以我們提取 AAR 中的 class.jar 是不是就可以了。

有了這個(gè)想法我們就要開始驗(yàn)證:

①把 AAR 后綴修改為 zip 后解壓 ,找到 class.jar 并修改昵稱為 cardview.jar。

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

如上圖驗(yàn)證這樣是可以直接調(diào)用,但是不能每次都手動(dòng)解壓再導(dǎo)入,于是就找了第三方的(aar2jar),為了解決鴻蒙依賴 AAR 庫(kù)的問(wèn)題,實(shí)現(xiàn)的原理也是解包 AAR,再依賴其中的 class.jar。

②aar2jar,打開鏈接有依賴流程就不再累贅,新測(cè)有效。

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

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

如上圖,成功調(diào)用了 logger 的 AAR 庫(kù):https://github.com/orhanobut/logger

HAR 的編譯過(guò)程

創(chuàng)建鴻蒙的項(xiàng)目,默認(rèn)包含的就是 JAR/HAR。

HarmonyOS 庫(kù)(HarmonyOS Ability Resources,簡(jiǎn)稱 HAR)可以提供應(yīng)用構(gòu)建所需的一切內(nèi)容,包括源代碼、資源文件、HarmonyOS 配置文件以及第三方庫(kù)。

官網(wǎng)(HAR 的編譯流程官網(wǎng)鏈接)已經(jīng)詳細(xì)的講解了編譯過(guò)程,就不再累贅。

把我廠的 ZegoExpressEngine.jar 放到 HarmonyOS Library 編譯:

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

生成的 har 再放到項(xiàng)目的 libs 進(jìn)行驗(yàn)證,是可以正常調(diào)用的,說(shuō)明 har 編譯成功。

結(jié)語(yǔ)

以下為本次驗(yàn)證總結(jié):

鴻蒙應(yīng)用開發(fā),不能直接使用 Android 上的第三方庫(kù)。

可以直接引用 JAR 的 API。但不能是運(yùn)行時(shí)強(qiáng)依賴 Android 環(huán)境的,不然只能做移植,并做一定的修改。所以不依賴 Android 的 JAR 是可以直接在鴻蒙中使用的。

鴻蒙的 gradle plugin 環(huán)境下不能直接依賴 AAR,最好的辦法是重新整理 AAR 工程,編譯成相應(yīng)的 HAR。

AAR 運(yùn)行時(shí)不依賴 Android 環(huán)境的,可以提取其中的 class.jar,并做依賴。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3945

    瀏覽量

    127928
  • 安卓
    +關(guān)注

    關(guān)注

    5

    文章

    2136

    瀏覽量

    57600
  • 鴻蒙系統(tǒng)
    +關(guān)注

    關(guān)注

    183

    文章

    2638

    瀏覽量

    66706

原文標(biāo)題:鴻蒙OS和Android到底有什么區(qū)別?

文章出處:【微信號(hào):Huawei_Kirin,微信公眾號(hào):華為麒麟】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問(wèn)ADS8343和ADS8341什么區(qū)別

    請(qǐng)問(wèn)ADS8343和ADS8341什么區(qū)別
    發(fā)表于 01-08 06:30

    LMP91200 VCM和VCMHI引腳什么區(qū)別

    VCM和VCMHI引腳什么區(qū)別,是說(shuō)如果傳感器是高阻態(tài)的需要接VCMHI 嗎?
    發(fā)表于 12-31 07:36

    DAC7742和DAC7741什么區(qū)別?

    DAC7742和DAC7741什么區(qū)別?
    發(fā)表于 11-22 08:31

    FCCSP與FCBGA都是倒裝有什么區(qū)別

    本文簡(jiǎn)單介紹了倒裝芯片球柵陣列封裝與倒裝芯片級(jí)封裝的概念與區(qū)別。 FCCSP與FCBGA都是倒裝,怎么區(qū)分?什么區(qū)別
    的頭像 發(fā)表于 11-16 11:48 ?2186次閱讀
    FCCSP與FCBGA都是倒裝有<b class='flag-5'>什么區(qū)別</b>

    美國(guó)多IP服務(wù)器和美國(guó)多服務(wù)器什么區(qū)別

    美國(guó)多IP服務(wù)器和美國(guó)多服務(wù)器什么區(qū)別 美國(guó)多IP服務(wù)器和美國(guó)多服務(wù)器在概念、功能以及應(yīng)用場(chǎng)景上存在明顯的區(qū)別。主機(jī)推薦小編為您整理發(fā)布美國(guó)多IP服務(wù)器和美國(guó)多服務(wù)器
    的頭像 發(fā)表于 11-11 10:22 ?257次閱讀

    RTOS與Linux到底什么區(qū)別

    很多做嵌入式開發(fā)的小伙伴都存在這樣的疑惑:RTOS與Linux到底什么區(qū)別
    的頭像 發(fā)表于 10-29 09:53 ?588次閱讀

    INA282,INA200什么區(qū)別,后者什么優(yōu)勢(shì)?

    采用差動(dòng)放大器INA117和采用專門的高端電流檢測(cè)芯片,比如INA282,INA200什么區(qū)別,后者什么優(yōu)勢(shì)?是不是在INA117差放后加一級(jí)相應(yīng)倍數(shù)的放大,效果就采用INA2
    發(fā)表于 09-26 07:50

    請(qǐng)問(wèn)VCA821和VCA824什么區(qū)別

    請(qǐng)問(wèn)VCA821和VCA824什么區(qū)別??jī)蓚€(gè)芯片的概述基本都一樣,但是細(xì)看里面的資料會(huì)發(fā)現(xiàn)一些參數(shù)圖表好像是不一樣的。那到底怎么看,什么區(qū)別
    發(fā)表于 09-05 07:59

    請(qǐng)問(wèn)模擬開關(guān)多路復(fù)用器什么區(qū)別

    我想請(qǐng)問(wèn),模擬開關(guān)多路復(fù)用器什么區(qū)別。比如單刀雙擲開關(guān),是不是就是2選1的多路選擇器,只是模擬開關(guān)是1:2,AMUX是2:1?我理解的區(qū)別是模擬開關(guān)的狀態(tài)要么通道A導(dǎo)通,要么通道
    發(fā)表于 08-12 08:16

    請(qǐng)問(wèn)ESPTOUCH和AIRKISS什么區(qū)別

    請(qǐng)問(wèn)ESPTOUCH和AIRKISS什么區(qū)別?謝謝!
    發(fā)表于 07-12 12:44

    RV 和ARM什么區(qū)別

    district RV 和ARM什么區(qū)別
    發(fā)表于 06-26 12:41

    STM32Cube庫(kù)和standard peripheral library什么區(qū)別

    STM32Cube庫(kù)和standard peripheral library什么區(qū)別
    發(fā)表于 05-16 06:52

    在針對(duì)計(jì)數(shù)功能中Input Capture direct mode和IO中斷什么區(qū)別

    如題,看了一下Input Capture direct mode的使用方法,一個(gè)定時(shí)器可以多個(gè)通道進(jìn)行輸入脈沖采集,但是竟然是用中斷進(jìn)行計(jì)數(shù)的,這個(gè)IO中斷直接計(jì)數(shù)什么區(qū)別,還能省掉一個(gè)定時(shí)器
    發(fā)表于 04-29 09:02

    Ethernet和EtherCAT兩者什么區(qū)別和聯(lián)系?

    Ethernet和EtherCAT兩者什么區(qū)別和聯(lián)系?
    發(fā)表于 04-12 07:13

    線路板的層和階什么區(qū)別

    線路板的層和階什么區(qū)別
    的頭像 發(fā)表于 02-23 17:27 ?865次閱讀
    五湖四海娱乐| 百家乐大轮转| 百家乐官网能赚大钱吗| 金赞百家乐的玩法技巧和规则| 百家乐官网如何打轮盘| 立博国际博彩公司| 噢门百家乐注码技巧| 百家乐官网视频游戏盗号| 大发8888娱乐城| 宾利百家乐现金网| 百家乐官网龙虎斗扎金花| 大发888亚洲| 玩百家乐游戏经验| 百家乐官网娱乐城官方网| 德州扑克中文单机版| 香港百家乐赌场| 百家乐官网的注码技巧| 足球博彩网| 百家乐龙虎扑克牌游戏技巧打| 线上百家乐官网是如何作弊| 图木舒克市| 百家乐下注技巧| 百家乐真钱娱乐| 鸿博娱乐场| 百家乐有没有单机版的| 娱乐百家乐官网下载| 网上玩百家乐官网犯法| 威尼斯人娱乐城进不了| 户型风水不好害死人 24种破财户| 新澳博百家乐官网现金网| 大发888官网df888esbgfwz| 澳门百家乐真人娱乐城| 百家乐官网路技巧| 博联百家乐官网游戏| 大发888注册| 试玩百家乐的玩法技巧和规则| 做生意带什么招财| 网上百家乐官网骗局| 百家乐博彩| 大发888娱乐城在线存款| 百家乐如何买大小|