在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

HarmonyOS跟Android有什么區別

華為麒麟 ? 來源:鴻蒙技術社區 ? 作者:即構忠武 ? 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

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

    關注

    12

    文章

    3936

    瀏覽量

    127413
  • 安卓
    +關注

    關注

    5

    文章

    2130

    瀏覽量

    57205
  • 鴻蒙系統
    +關注

    關注

    183

    文章

    2634

    瀏覽量

    66348

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

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

收藏 人收藏

    評論

    相關推薦

    FCCSP與FCBGA都是倒裝有什么區別

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

    美國多IP服務器和美國多服務器什么區別

    美國多IP服務器和美國多服務器什么區別 美國多IP服務器和美國多服務器在概念、功能以及應用場景上存在明顯的區別。主機推薦小編為您整理發布美國多IP服務器和美國多服務器
    的頭像 發表于 11-11 10:22 ?199次閱讀

    RTOS與Linux到底什么區別

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

    INA282,INA200什么區別,后者什么優勢?

    采用差動放大器INA117和采用專門的高端電流檢測芯片,比如INA282,INA200什么區別,后者什么優勢?是不是在INA117差放后加一級相應倍數的放大,效果就采用INA2
    發表于 09-26 07:50

    請問VCA821和VCA824什么區別

    請問VCA821和VCA824什么區別?兩個芯片的概述基本都一樣,但是細看里面的資料會發現一些參數圖表好像是不一樣的。那到底怎么看,什么區別
    發表于 09-05 07:59

    請問模擬開關多路復用器什么區別

    我想請問,模擬開關多路復用器什么區別。比如單刀雙擲開關,是不是就是2選1的多路選擇器,只是模擬開關是1:2,AMUX是2:1?我理解的區別是模擬開關的狀態要么通道A導通,要么通道
    發表于 08-12 08:16

    請問ESPTOUCH和AIRKISS什么區別

    請問ESPTOUCH和AIRKISS什么區別?謝謝!
    發表于 07-12 12:44

    RV 和ARM什么區別

    district RV 和ARM什么區別
    發表于 06-26 12:41

    線路板的層和階什么區別

    線路板的層和階什么區別
    的頭像 發表于 02-23 17:27 ?722次閱讀

    TC397多核之間數據訪問效率什么區別?本地和全局的效率什么區別

    TC397多核之間數據訪問效率什么區別,本地和全局的效率什么區別,可不可以將電機同步ADC采集放到主核0,算法在1核執行
    發表于 02-06 07:42

    SPI和QSPI什么區別

    SPI和QSPI什么區別
    發表于 02-06 06:12

    大電容和小電容什么區別

    大電容和小電容什么區別? 大電容和小電容之間的區別主要包括以下幾個方面:容量、尺寸、用途、性能、穩定性以及價格等。 首先,容量是大電容和小電容最直觀的區別之一。大電容通常具有較大的容
    的頭像 發表于 02-04 09:32 ?9132次閱讀

    求助,TC275中不同的STEP什么區別

    TC275中不同的STEP什么區別?我看了一些芯片CA-STEP,DB-STEP,DC-STEP這幾個step什么區別呢?或者從哪個手
    發表于 02-04 07:34

    harmonyos和安卓的區別

    HarmonyOS是由華為開發的一款全場景分布式操作系統,而安卓(Android)則是由谷歌開發的移動操作系統。雖然兩者都是操作系統,但它們在很多方面存在明顯的區別。下面是關于HarmonyO
    的頭像 發表于 01-10 17:55 ?3560次閱讀

    S120電機模塊與功率模塊什么區別

    S120電機模塊與功率模塊什么區別 電源模塊是整流吧,ALM/SLM/BLM 我問的是AC功率模塊電機模塊的區別,另外想請教一下各路大神,組態S120用GSD還是HSP呢,第一
    發表于 01-09 07:39
    主站蜘蛛池模板: 天天色天天综合| 精品国产一区二区三区成人| 久操视屏| 好紧好湿好黄的视频| 日本wwww色| 亚洲aa| 成人免费国产gav视频在线| 亚洲成人av| 黄视频福利| 狠狠操天天干| 一 级 黄 色 片生活片| 国内露脸夫妇交换精品| 国产一级影院| 亚洲伦理一区二区三区| 国模精品一区二区| 91福利网站| 色爽爽爽爽爽爽爽爽| 7m凹凸精品分类大全免费| 视频黄色在线| 日韩欧美在线中文字幕| 午夜视频国产| 娇妻被黑人蹂躏| 久久黄色视屏| aa2424在线视频看片| 网红和老师啪啪对白清晰| 在线观看色视频网站| 亚洲一卡2卡3卡4卡5卡乱码| 欧美成人一区二区三区在线视频| 午夜久久久| 国产在线精品一区免费香蕉 | 欧美xxxxxbbbb| 欧美影院| 香蕉爱爱视频| 一级视频在线免费观看| 日本口工禁漫画无遮挡全彩| 免费人成激情视频在线观看冫| 精品国产第一国产综合精品gif | 一日本道加勒比高清一二三| 欧美黄色一级视频| 国产精品大全| 欧美一级色视频|