《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 鴻蒙OS是“套殼”安卓? 2.0開源!460萬行代碼帶你揭秘

鴻蒙OS是“套殼”安卓? 2.0開源!460萬行代碼帶你揭秘

2021-05-19
來源:自主可控新鮮事
關(guān)鍵詞: 鴻蒙OS 安卓

  2017年,華為手機(jī)靠著1.53億臺的銷量和20.4%的市場占有率,穩(wěn)坐中國手機(jī)市場老大的位置。

  當(dāng)大家都在慶祝這個里程碑時刻時,2018年初,華為消費者業(yè)務(wù)軟件部門的負(fù)責(zé)人王成錄卻向任正非傳遞了一個危險的信號:華為并不具備與巨大的手機(jī)業(yè)務(wù)規(guī)模相匹配的“根基”,華為需要自己的操作系統(tǒng)。

  任正非隨即拍板決定,一直在籌謀的“操作系統(tǒng)項目”從軟件部內(nèi)部項目,升格為公司項目。

  兩年之后的2019年8月9日,余承東迎來50歲生日,這距離美國首次制裁華為已經(jīng)過去4個月。當(dāng)天,華為在開發(fā)者大會上揭開了鴻蒙系統(tǒng)的面紗。余承東生日蛋糕的照片和鴻蒙的名字,傳遍了社交網(wǎng)站。

  鴻蒙在華為的高光時刻誕生,在華為陷入危機(jī)時走到臺前。

  鴻蒙作為華為自研OS,一直以來備受爭議,但不管是早期的“活在PPT里的系統(tǒng)”,還是之后的“安卓套殼”,公眾對鴻蒙有期待,也有質(zhì)疑。

  在華為手機(jī)業(yè)務(wù)全球收縮的背景下,鴻蒙即將在蹣跚學(xué)步時期,迎來一次巨大危機(jī)。

  鴻蒙2.0 460萬行代碼陸續(xù)開源

  隨著近期鴻蒙系統(tǒng)逐漸推送至普通用戶的手機(jī)中,關(guān)于鴻蒙的爭論愈加激烈。很多網(wǎng)友認(rèn)為鴻蒙是套殼安卓,但礙于代碼未開源難以求證。

  日前,據(jù)微博@釗哥科普 最新爆料,全新的鴻蒙OpenHarmony 2.0將從5月16日起到6月2日陸續(xù)開源。

  微信圖片_20210519165607.jpg

  此前,華為曾在開發(fā)者大會上宣布將 HarmonyOS源代碼捐贈給中國開放原子開源基金會,并在大會上公布了鴻蒙系統(tǒng)的開源路線,就是OpenHarmony。

  OpenHarmony 官方源碼地址:

  https://openharmony.gitee.com/openharmony

  根據(jù)Gitee上介紹,OpenHarmony在傳統(tǒng)的單設(shè)備系統(tǒng)能力的基礎(chǔ)上,創(chuàng)造性地提出了基于同一套系統(tǒng)能力、適配多種終端形態(tài)的理念,支持多種終端設(shè)備上運行,第一個版本支持128K~128M設(shè)備上運行,歡迎參加開源社區(qū)一起持續(xù)演進(jìn)。

  針對設(shè)備開發(fā)者,OpenHarmony采用了組件化的設(shè)計方案,可以根據(jù)設(shè)備的資源能力和業(yè)務(wù)特征進(jìn)行靈活裁剪,滿足不同形態(tài)的終端設(shè)備對于操作系統(tǒng)的要求??蛇\行在百K級別的資源受限設(shè)備和穿戴類設(shè)備,也可運行在百M級別的智能家用攝像頭/行車記錄儀等相對資源豐富的設(shè)備。

4.png

  上個月,華為放出了OpenHarmony 1.1.0 LTS版本,相比于更早的1.0版本增加了AI子系統(tǒng)、電源管理子系統(tǒng)、泛傳感器子系統(tǒng)、升級子系統(tǒng)、統(tǒng)一AI引擎框架。

  根據(jù)釗哥科普的介紹,OpenHarmony 2.0約有460萬行關(guān)鍵代碼,相比起來Android 10則擁有1525萬行;OpenHarmony 2.0約有18000個API,相比起來Android 10則擁有36000+個。安裝包體積縮小到60-70%,手機(jī)、平板、可穿戴設(shè)備、電視、傳感器等各種設(shè)備都能使用。

 5.png

  根據(jù)他的爆料,OpenHarmony 2.0將會有多個分支版本,本次開放L2是純粹的鴻蒙版本,而OpenHarmony L2代碼開源已經(jīng)開始,幾百萬航代碼陸續(xù)走來。純粹的鴻蒙版本沒有任何安卓代碼,可以使用所有鴻蒙的應(yīng)用,不過在APP上較為匱乏。

  還將會有L3-L5版本,是兼容安卓的雙框架,此前看到能跑安卓apk應(yīng)用的就是它,很快也會開源?!爸劣谶@個鴻蒙是不是很多人認(rèn)為的套殼安卓,代碼里見,對著代碼碰吧,一次噴個痛快”,他這樣激動地說。

  6.png

  而在生態(tài)方面,越來越多的單位將加入鴻蒙行列,比如中國信通院、軟通動力、好叭科技、華秋電子、中軟、潤和軟件、九聯(lián)科技,等等。

  對于為何鴻蒙能兼容安卓應(yīng)用,終于有了相關(guān)介紹。根據(jù)釗哥科普爆料的PPT圖片顯示,這是因為OpenHarmony 2.0復(fù)用了多個開源組件,適時啟動Foundation進(jìn)程,然后在該進(jìn)程內(nèi)進(jìn)一步處理。

  7.png

  5月初,鴻蒙OS 2.0開發(fā)者版陸續(xù)公測,Mate 40等旗艦機(jī)已經(jīng)收到系統(tǒng)推送,后續(xù)華為 nova 6、nova 6 5G 、nova 7 5G、nova 7 Pro 5G、nova 8、nova 8 Pro、MatePad 10.8 英寸等機(jī)型也會支持。

  而OpenHarmony則也一直在革新,OpenHarmony版本路標(biāo)如下:

  8.png

  對于這個消息,知乎上有人表示質(zhì)疑,但釗哥認(rèn)為L2可以上手機(jī),馬上就拿出來了。

 9.png

  是否套殼?官方回應(yīng)

  對于鴻蒙是否是套殼這個問題,華為之前曾經(jīng)多次公開發(fā)聲。華為消費者業(yè)務(wù)軟件部總裁、鴻蒙操作系統(tǒng)負(fù)責(zé)人王成錄在接受國內(nèi)媒體采訪時表示,其實大家質(zhì)疑鴻蒙是不是Android換個殼,說明中國科技界對軟件開源的理解不夠一致。

  他補(bǔ)充稱,并不是所有Android代碼都是Google開發(fā)的,絕大部分代碼來自開源社區(qū)。鴻蒙也會吸收社區(qū)優(yōu)秀技術(shù)和代碼,使用AOSP(Android 開源項目)的開源代碼,就判斷鴻蒙是Android換了皮,說明這類吐槽者沒有太準(zhǔn)確理解什么是開源。

  他強(qiáng)調(diào),鴻蒙OS的出現(xiàn),不是為了應(yīng)對美國制裁而做的替代系統(tǒng),而是在2016年就立項開發(fā),它是真正面向未來IoT時代的一個全景操作系統(tǒng)。

  事實上,相比其他移動系統(tǒng),鴻蒙系統(tǒng)的區(qū)別的確相當(dāng)大。從硬件載體上來說,市面最大的iOS和安卓主要面對的是手機(jī)和平板,鴻蒙則可搭載在電視、手表、汽車、智能家居等任何IoT設(shè)備之上。

 10.png

  華為方面強(qiáng)調(diào),鴻蒙OS與傳統(tǒng)的iOS、Android系統(tǒng)的概念不同,其定位是萬物互聯(lián)時代的操作系統(tǒng),面向的是全場景,包括智能穿戴、家用電器、汽車、電視等。

  華為消費者業(yè)務(wù)軟件部副總裁楊海松曾指出,HarmonyOS最終目標(biāo)就是要幫助開發(fā)者,讓開發(fā)跨端應(yīng)用像開發(fā)單端應(yīng)用一樣簡單!

  為了實現(xiàn)這一目標(biāo),發(fā)布了三大組件,即分布式應(yīng)用框架、分布式UI框架,以及DevEco Studio工具平臺。他強(qiáng)調(diào),“HarmonyOS在設(shè)計之初,就是面向未來萬物互聯(lián)時代的操作系統(tǒng)。HarmonyOS的對手不是安卓,也不是iOS,而是萬物互聯(lián)時代的生態(tài)枷鎖。

  分布式應(yīng)用框架:一次開發(fā)多端部署。HarmonyOS 2.0手機(jī)應(yīng)用開發(fā)者Beta版,通過分布式應(yīng)用框架以及15000多個APls,將復(fù)雜的設(shè)備間協(xié)同封裝成簡單接口,實現(xiàn)了一次開發(fā)、多端部署的特性,避免了開發(fā)者在不同設(shè)備之間的重復(fù)開發(fā)。

  分布式UI框架:讓開發(fā)效率倍增。分布式UI框架可以提供拉伸、縮放、隱藏、折行、均分、占比、延伸7類自適應(yīng)布局能力,極大地提高了跨端UI開發(fā)效率;同時,針對各類不同設(shè)備有不同交互方式,HarmonyOS的歸一化控件設(shè)計,還能讓開發(fā)者只需關(guān)注交互本身,助力跨端交互開發(fā)。

  DevEco Studio:輕松跨端開發(fā)調(diào)試。全新版本的集成開發(fā)工具DevEco Studio 2.0 Beta3具有四大功能:一是集成了9套手機(jī)應(yīng)用模板,覆蓋新聞、購物等應(yīng)用場景,可減少代碼輸入1000多行;二是具有多端界面預(yù)覽和實時反饋功能,開發(fā)者可以實時看到多個界面的預(yù)覽效果,讓前端開發(fā)效率倍增;三是分布式調(diào)試,可在分布式的應(yīng)用開發(fā)過程中進(jìn)行錯誤診斷,針對異常代碼進(jìn)行故障分析與定位解決等;四是支持20多種器件及傳感器逼真模擬,包括連續(xù)導(dǎo)航、連續(xù)計步,以及移動網(wǎng)絡(luò)(接收短信/來電)等場景,模擬仿真無限接近真機(jī),讓應(yīng)用開發(fā)者的跨端開發(fā)與調(diào)測效率大增。

  實測鴻蒙與安卓的區(qū)別

  實際上,有網(wǎng)友實測過鴻蒙與安卓的區(qū)別:

  開發(fā)工具:鴻蒙使用基于 Intellij IDEA 深度定制研發(fā)的 DevEco Studio 作為其開發(fā)工具。

  那么,在應(yīng)用開發(fā)過程中,HarmonyOS(鴻蒙)和 Android(安卓)開發(fā)環(huán)境有什么不同吶?

  一、HarmonyOS 項目和 Android 項目對比:

  1.資源目錄的變更

 ?、儋Y源目錄名稱有更改。

  安卓 res 目錄,鴻蒙用 resources 目錄,包括 base 和 rawfile 兩部分,其中 base 是核心的資源目錄,常用的都放在這里面,便于查找和使用。rawfile 會原封不動打包到生成的應(yīng)用里面。

  安卓是 res/values 目錄,鴻蒙是 resources/element 目錄。

  安卓 raw 目錄,鴻蒙用 rawfile 目錄。

  ②資源目錄分門別類,統(tǒng)一管理。

  Android 目錄結(jié)構(gòu)就比較松散,沒有統(tǒng)一的文件夾管理,res/values 目錄里面可以創(chuàng)建各種資源的 xml 文件,只能去官網(wǎng)查看有哪些可以創(chuàng)建。

  鴻蒙有 base 目錄統(tǒng)一管理。

 ?、鄄糠仲Y目錄刪除,新增一些資源目錄類型。

  比如 float.json 文件,plural.json 文件,profile 文件夾等。

 ?、芫帉懛绞接懈淖?,xml 變更為 json。

  安卓的 values 里面是 xml 寫的,鴻蒙是 element 目錄里面的,都是 json 格式的。

  同類型資源對比圖:

  11.png

  12.png13.png

  完整的資源目錄的具體變更對比如下圖所示:

  14.png

  2.配置文件的變更。

  清單文件  AndroidManifest 變成了 config.json 文件。

  3.Java 代碼的變更

  完整的 Java 目錄的變更對比如下圖所示:

 15.png

  二、HarmonyOS 項目和微信小程序項目對比

  完整的 JS 目錄和微信小程序?qū)Ρ热缦聢D所示:

  16.png

  相信在代碼完全公開之下,鴻蒙OS是否是安卓套殼能夠得到明確的驗證。

  結(jié)語

  PC時代稱王的操作系統(tǒng)是微軟,移動互聯(lián)網(wǎng)時代安卓和蘋果二分天下,物聯(lián)網(wǎng)時代誰是最終贏家,還未可知。

  但無論鴻蒙能否最終實現(xiàn)一統(tǒng)物聯(lián)網(wǎng)系統(tǒng)的構(gòu)想。在國產(chǎn)操作系統(tǒng)幾近空白的情況下,鴻蒙的誕生和可用,本身已是抵御危機(jī)的一個里程碑。

  


微信圖片_20210517164139.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。