chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

華為麒麟 ? 來源:鴻蒙技術社區(qū) ? 作者:即構忠武 ? 2021-08-16 09:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

以下為詳細步驟:

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

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

resources→layou→長按右鍵→new→Layout Resource File:

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

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

在 Previewer 顯示 Initial image data is Iost,說明是不支持這個包的功能。

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

如,不支持 Android 的控件,它有自己的組件來進行 UI 的渲染。

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

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

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

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

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

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

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

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

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

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

有了這個想法我們就要開始驗證:

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

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

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

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

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

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

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

HAR 的編譯過程

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

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

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

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

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

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

結語

以下為本次驗證總結:

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

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

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

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

責任編輯:haq

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

    關注

    12

    文章

    4035

    瀏覽量

    134441
  • 安卓
    +關注

    關注

    5

    文章

    2187

    瀏覽量

    60510
  • 鴻蒙系統(tǒng)

    關注

    183

    文章

    2642

    瀏覽量

    70099

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

文章出處:【微信號:Huawei_Kirin,微信公眾號:華為麒麟】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Boost、Buck-Boost、Sepic拓撲什么區(qū)別

    工程師們在做電源設計時經(jīng)常會有升壓的需求,而常用的Boost、Buck-Boost、Sepic拓撲均可實現(xiàn)升壓。這些拓撲什么區(qū)別,該選哪個呢?
    的頭像 發(fā)表于 04-11 14:14 ?861次閱讀
    Boost、Buck-Boost、Sepic拓撲<b class='flag-5'>有</b><b class='flag-5'>什么區(qū)別</b>

    如何電源管理電池供電和線路供電系統(tǒng)之間什么區(qū)別

    如何電源管理電池供電和線路供電系統(tǒng)之間什么區(qū)別?
    發(fā)表于 04-06 08:24

    請問TJA1028DT/0 和 TJA1028x/5/20 什么區(qū)別

    TJA1028DT/0 和 TJA1028x/5/20 什么區(qū)別?
    發(fā)表于 03-20 07:41

    頻率綜合器、頻率源、信號源什么區(qū)別?一文講透

    頻率綜合器、頻率源、信號源什么區(qū)別,簡單來說就是頻率源是“提供心跳”的——穩(wěn)定、精準,但功能單一, 頻率綜合器是“可變心跳”——在頻率源基礎上增加了可編程能力, 信號源是“完整樂隊”——包含頻率綜合器,還能調(diào)制、編碼、仿真各種復雜信號。
    的頭像 發(fā)表于 03-05 14:07 ?306次閱讀
    頻率綜合器、頻率源、信號源<b class='flag-5'>有</b><b class='flag-5'>什么區(qū)別</b>?一文講透

    行星減速機與齒輪減速機什么區(qū)別

    行星減速機與齒輪減速機什么區(qū)別
    的頭像 發(fā)表于 01-04 16:30 ?1772次閱讀
    行星減速機與齒輪減速機<b class='flag-5'>有</b><b class='flag-5'>什么區(qū)別</b>?

    武漢芯源MCU和英飛凌MCU什么區(qū)別

    武漢芯源MCU和英飛凌MCU什么區(qū)別
    發(fā)表于 12-11 06:26

    MCU不同封裝都什么區(qū)別?

    目前MCU不同封裝都什么區(qū)別?
    發(fā)表于 12-01 06:41

    請問jtag和jlink什么區(qū)別???

    jtag和jlink什么區(qū)別啊?
    發(fā)表于 11-28 06:46

    請問jlink的調(diào)試keil的調(diào)試區(qū)別???

    jlink的調(diào)試keil的調(diào)試區(qū)別啊?
    發(fā)表于 11-25 07:00

    ARM架構與DSP什么區(qū)別?哪一個更好?

    ARM架構與DSP什么區(qū)別?哪一個更好?
    發(fā)表于 11-19 06:14

    微波雷達和毫米波雷達什么區(qū)別

    微波雷達和毫米波雷達什么區(qū)別 前言:不知道大家有沒有發(fā)現(xiàn),各種雷達模塊的使用開始逐漸加入各種智能家居產(chǎn)品了,像人來燈亮,人走燈滅這種雷達感應的產(chǎn)品早幾年就開始進入市場了,還有各種感應開關等產(chǎn)品
    的頭像 發(fā)表于 10-30 16:56 ?2214次閱讀
    微波雷達和毫米波雷達<b class='flag-5'>有</b><b class='flag-5'>什么區(qū)別</b>

    Re-Driver 和 Re-Timer 什么區(qū)別

    Re-Driver 和 Re-Timer 什么區(qū)別?
    發(fā)表于 08-21 06:14

    使用ICP編程工具進行離線編程設置時,啟用“使用密碼”什么區(qū)別

    使用ICP編程工具進行離線編程設置時,啟用“使用密碼”什么區(qū)別
    發(fā)表于 08-19 06:04

    請問ST7701和ST7701S什么區(qū)別嗎?

    ST7701和ST7701S什么區(qū)別
    發(fā)表于 07-22 08:16

    sd-wan組網(wǎng)方案和woc設備有什么區(qū)別

    SD-WAN組網(wǎng)方案和WOC(廣域網(wǎng)優(yōu)化控制器)設備是解決企業(yè)廣域網(wǎng)(WAN)問題的兩種不同技術路線,它們的目標部分重疊(提升性能、降低成本),但核心原理、實現(xiàn)方式和側重點顯著區(qū)別,主機推薦小編為您整理發(fā)布sd-wan組網(wǎng)方案和woc設備有
    的頭像 發(fā)表于 06-03 11:21 ?1184次閱讀
    sd-wan組網(wǎng)方案和woc設備有<b class='flag-5'>什么區(qū)別</b>