谷歌聲明裡面說的「阿里雲 OS 這款手機操作系統是 Android 的一個『不兼容』版本」是什麼意思?
出處:http://tech.sina.com.cn/i/2012-09-15/12157621311.shtml
是說原裝的android應用不能在阿里雲OS上運行,只有從阿里雲自己的應用商店下載的才能運行?如果是這樣的話,阿里雲OS是如何做到的?在VM裡面做了什麼?加了自己的簽名么?
之前天語的幾款雲OS機子是什麼情況?有沒有用過的同學講講?
Google最不能容忍的地方是阿里巴巴給android加了另一個執行環境(虛擬機):lemur。
標準android跑的是由java編譯而來的dalvik位元組碼以及包在java殼裡的原生代碼(通過JNI)。而阿里雲os只要保留dalvik和android framework,就可以同時跑標準的android程序和lemur程序,實際上它也是這麼做的。
所謂的lemur和對應的framework是一個翻版的dalvik/android framework。阿里巴巴有很多java大牛,寫個虛擬機自然擅長,所以想這樣藉助android生態環境的力量來做一套自己能掌控的生態環境。
當時Google向加入了開發手機聯盟的宏碁施壓,讓它的手機不能搭載以上阿里巴巴修改過的android。最後阿里雲只好去找了幾個小公司發布阿里雲手機。
-
儘管實際上Google借打壓宏碁而打壓了阿里雲os,但字面上Google和阿里雲兩家公司沒有直接關係。(所以我認為阿里雲做的公關很臭,像婊子立牌坊一樣。如果設備賣的出去,怎麼立牌坊都沒關係)
接下來再看看Google關心什麼:
- 我們知道本質是android的miui長得像iOS(有個叫novadng的人還專門為此寫了幾篇文章對此口誅筆伐),但它顯然和AOSP android有足夠好的兼容,能通過相應的cts兼容測試。
- 魅族弄了個SBar出來,但它依然能且僅能運行所有android程序。作為內地行貨機,它甚至破天荒地搭載了全套Gapps。(雖然我覺得肯定有貓膩,SBar無法通過兼容測試,它怎麼拿到了預載gapps的許可?)
- 三星從它的galaxy s3?還是note2開始搭載了同屏幕運行兩個應用程序的功能。當時也有評論認為這違反了android的交互規範,認為三星和Google之間會出事情。結果則是相安無事。
- 亞馬遜的kindle fire改掉了整個啟動器的外觀和交互,它大致上可以運行為標準android設計的應用程序。當然亞馬遜和生產kindle fire的工廠都不是開放手機聯盟的成員。
- HTC最近一年的機器都用上了「獨特的」硬體按鈕,顯然Google對此沒有反應。而兩台Google edition的手機(htc one, galaxy s4)的按鈕都沒有按著aosp android的樣子:左反回,中主頁,右多任務。
這麼多家都沒有遭到打擊,到此為止,應該可以看得出Google在意的是什麼了 。
-
注釋:這裡的」標準android「指的是經由aosp發布的android,以及第三方修改過,且以通過cts測試/搭載gapps/廠商加入開放手機聯盟等形式和aosp android保持足夠多兼容的android實現。
你可以看看這篇文章: http://www.cnbeta.com/articles/205956.htm
文章的結論就是:阿里雲OS是修改自android,但是又不兼容android的APK程序。
我本身做過android開發,對這篇文章的觀點表示認同。
意思就是說,從技術上講,阿里雲的OS是android發展出來的一個不合法的分支.
阿里雲OS做到了兼容android應用,但這樣做是否符合android的協議內容未可知.同時,對於阿里雲OS是否是修改android而來的問題,目前不在OS團隊,不方便講述.
從谷歌的角度來講,阿里雲宣稱自己是安卓,但是自己卻又無法保證可以完美兼容安卓應用,這從某種角度來講是會影響安卓的聲譽的。
至於阻止的原因是谷歌的開放手機聯盟,聯盟中有要求任何一家廠商都不允許使用不完整的安卓系統。這就是為什麼國外的亞馬遜,國內的小米魅族什麼的可以隨便造,畢竟是他們自己做的手機。中興就不一樣,它還向外國出口符合開放手機聯盟的手機。
我只想說,你以為你的應用在多數手機上能跑就能在阿里雲的手機上跑?
推薦閱讀: