華為的鴻蒙系統是如何做到兼容安卓應用的?

救贖AMG139809911


我覺得鴻蒙不一定兼容android,老於雖然這麼說,但是我估計懸。
我們都知道android的應用都是基於JVM去編譯的。也就是目前的 android apk的包都是一堆.class文件。這些.class文件需要靠jvm去解釋執行。目前android 系統引入的是包含編譯、解釋和 JIT 。詳細而言,當 App 安裝時,首先會根據 JIT 編譯器的分析結果,一方面,在設備充電或其餘空閒時間對「cold code」進行解釋;另一方面,對「hot code」在實際使用時由 JIT 進行編譯。這是android的編譯原理。那鴻蒙呢?

鴻蒙是基於方舟編譯器進行編譯的。它沒有jvm這一層,所以他如何解析.class字節碼呢?如果它能解釋.class文件,它就可以兼容android,也就是將來目前的android的應用可以直接安裝到鴻蒙的系統中。從目前開源的代碼中,還不能看出它的實現邏輯,所以我猜它應該不兼容android。

我猜將來的apk是要直接編譯成二進制,機器可以直接識別。這就要求現有的app需要重新打包,可能借助華為提供的某款idea吧!過方舟編譯器,不僅可以解決應用卡頓的問題,還可以為系統操作流暢度提升 24%、系統響應速度提升 44%,第三方應用操作流暢度提升 60%。


鴻蒙是一個創舉,希望可以成功。國內的OEM廠商就可以擺脫google android,將來出海也不會受google限制。

架構之路


目前根本不兼容,不管你想兼容什麼,都必須要有對應軟件的運行環境。當然寫個編譯器把目標軟件或目標軟件加目標運行環境編譯成當前可執行的程序,這不叫兼容,叫移植。那麼能不能移植呢,答案是可以,但是鴻蒙可以嗎?極苛刻條件滿足下能移植極少數軟件,大部分軟件還是要重新開發,所以說沒有意義。而且這個工作絕對不該系統開發商來做。那麼還要別的辦法嗎?有,模擬器或者虛擬機。不少人不是在PC上通過模擬器運行安卓遊戲嗎?最後我猜你想問的問題是,鴻蒙有沒可能成功作為手機系統。其實不管是微內核還是宏內核的Linux系統早已不是新鮮的東西,為我們人類服務也都早已超過30年了並發展了千萬極的底層系統。。華為早期抄襲Cisco,縷縷被告上法庭,後通過合資3com走上正規發展開始。確實埋頭苦幹,腳踏實地的搞研發。取得的成就有目共睹。特別是在以太網和移動通信技術領域,後期趕上了雲計算的發展浪潮,發展了雲計算,大數據等軟件領域產品線,通過合作,OEM等形式,一邊合作業內優秀廠家資源,一邊學習模仿技術或產品使其具備了全類IT集成能力,如安全,服務器,存儲,容災,備份等等。但我只是想說。時代總是要變,從專精運營商到商業政企客戶的發展到消費端的發展都沒問題。但是真心反感以餘大嘴為代表的終端消費部門的一些人,看看網友都問些什麼問題?都是你們引導的結果。cisco是美國公司,你用啥手段我都支持,只是吃相難看而已。但是你的消費部門大部分客戶是國人,自己人就不要那麼狠好嗎?篇幅有限不想深寫。


Jeff大牛


目前來看兼容安卓還只是一種夢想。鴻蒙現在連源代碼都還沒放出來,放出來了估計也還跑不起來。等到能跑起來了,如果鴻蒙真的拋棄java運行時,那麼所有的軟件都要重新編譯適配,工作量很大。最終能不能成功,還得進一步看華為能不能解決編譯過程中遇到的各種問題。所以華為選擇發佈電視是明智的,電視的軟件相對很少,可以優先選幾個常用的做編譯適配。


元空間


安卓系統和鴻蒙系統都是基於Linux開發的,是相似的,相當於兄弟,都是用ARM架構和同基於Linux。安卓,鴻蒙系統都是在這個架構基礎上研製芯片,而鴻蒙系統還支持X86架構。ARM處理器是英國Acorn有限公司設計的低功耗成本的第一款RISC微處理器。全稱為Advanced RISC Machine,這只是架構並不是系統。

操作系統演變:

UNIX(1969年)~ Linux(1991年)~ Android(安卓 2007年)。

UNIX(1969年)~ Linux(1991年)~華為鴻蒙(2019年)。


蘇州文化傳媒


應為它和阿里雲OS 一樣就是個UI吧 應該叫鴻蒙UI



分享到:


相關文章: