6月2日,華為鴻蒙正式釋出,而華為的HarmonyOS是相容安卓APP的,也正因為如此,所以華為鴻蒙系統一直被很多人吐槽,有些噴子直接說是安卓套殼。
6月24日,windows11釋出,這次的windows11也給大家帶來了一個巨大的驚喜,那就是windows11也是原生支援安卓APP的。
但這次的windows11卻沒有被人說是安卓套殼了,那麼問題就來了,這兩個系統支援安卓APP,究竟有何區別?
首先說說鴻蒙系統,我們知道鴻蒙系統的基礎是Openharmony這個開源項目,它本身是不支援安卓APP的,是一個相對純淨的系統。
而華為HarmonyOS是基於Openharmony有,再打包了安卓開源項目AOSP中的一些程式碼,讓它能夠支援安卓APP。
由於華為HarmonyOS也是用於ARM晶片上的,安卓系統也是基於ARM晶片的,晶片指令集是一樣的,同時安卓與HarmonyOS都是基於linux核心來的,所以只要打包AOSP中的程式碼,讓Harmony有一個安卓APP的編譯器就行了。
但windows不一樣,首先windows的核心是WINNT,其次windows主要用於X86架構,這是複雜指令集,與ARM的簡單指令集是不一樣的。
所以windows不是簡單的打包AOSP的程式碼,讓windows中有一個安卓APP編譯器就可以的。
windows11是利用了英特爾的Intel Bridge技術,這是一種運行時後期編譯器,能讓移動應用在基於X86的裝置上,以「原生應用」形態運行。
估計這樣一說,大家還是雲裡霧裡的,不明白。Bridge技術究竟是一種什麼技術?
我們知道intel的晶片是X86的架構的,安卓的APP主要用於ARM架構的,而intel的Bridge技術,類似於一種所謂的「橋」,在英特爾的晶片上也可以運行 ARM的二進位制檔案,這樣解決了指令集的問題。
然後微軟又在windows中開發了一個「安卓 Windows 子系統」(WSA),與 Windows 中已經存在的「Linux Windows 子系統」相似,然後當然就打包了AOSP中的程式碼,提供了與 AOSP 框架的相容性,最終實現原生運行安卓APP。
所以這華為鴻蒙與windows11支援安卓APP,還真的不一樣,最大的關鍵就是晶片指令集的不同,導致微軟先要解決晶片指令集的問題後,才能搞定安卓的問題,而鴻蒙不需要考慮指令集的問題。