編輯:高級開發
前一段時間,隨著Moto的一系列手機引爆了android市場,移動市場所有的目光都集中在 Android這顆新星之上。一時之間,無論芯片企業、設備企業、軟件企業還是互聯網企業表示鼎立支持,連聯想也大張旗鼓的宣傳基於Android的 LePhone。包括論壇裡對Android的討論也是越來越激烈,說它好的有,說它不好的也不少,那今天我也來插一腳,看看Android的前世今生,看看android是否真的如外面媒體吹噓的那樣,能改變整個移動設備市場的格局?
一.心不在焉
為了推廣Android,Google成立了OHA 。在Google的號召力下,已有40多家覆蓋了從芯片、運營商到終端的合作伙伴加入到OHA之 中。在OHA的官方網 站上,不乏Intel、ARM、中國移動、Dell、三星、LG等業界大腕。看見這些大腕,我不由得想起一個詞烏合之眾。成語 “烏合之眾”的意思是:比喻臨時雜湊的、毫無組織紀律的一群人,這個詞來形容現在android社區中這些心不在焉的的大腕再合適不過了。
對於ARM、Intel這樣的芯片廠商來說,Android可有可無。因為它們本來就是面向所有平台的,它們也不會特意為android開發一款專 門的芯片,不過是拿現有的產品進來充數。
對於運營商來說,它們的重點不在終端,它們關心的是能否通過Android這個平台集成自身的服務,從而把用戶綁定在自己的網上。對於三星、 LG這樣的終端廠商來說,android只是多了一個手機操作系統的選擇。它們可不想處處受制於人,所以,大部分終端廠商都擁有多個操作系統的手機。
二.社區之道
Google的開放政策,試圖建立一個健康的社區,讓更多的廠商加入到Android社區裡來,一起把android做大。而一個健康的社區必須滿 足兩點:
1.有許多人為這個社區貢獻。
2.在社區內的所有人能夠獲利。
IT業內也有很多為人所津津樂道的社區例子,無不滿足這兩點。比如Linux社區,無論是Redhat、Novell、Intel,還是IBM,主 流Linux廠商一面使用Linux技術,一面也把自己開發的技術貢獻給Linux社區,最終,Linux占據了相當的服務器市場。又如,Wintel聯 盟,一面微軟推出功能更強大的軟件,一面Intel推出更強大的處理器支持微軟的軟件,最後,兩個巨頭共同促進了整個PC行業的發展。
沒有第三方貢獻!Android社區正處於 Google一家貢獻,其他家索取的畸形形態。浏覽一下android的源代碼,絕大部分是Google的員工編寫,鮮有看見其他社區成員貢獻代碼的影
接上頁
子。無論是中國移動的OMS還是HTC的Sense UI,都是閉源產品。當然,他們這麼做是符合android的軟件許可證,法律上是無可厚非的。但是過於保護自身利益的結果是傷害了整個社區。那麼唯一的貢獻者Google又得到什麼了呢?Google作為一家商業公司,絕對不可能傻呵呵砸這麼多錢,做出一個好產品卻全讓其他人賺錢,Google必須要利用Android盈利。那麼,怎麼盈利呢?Google的目的在移動互聯網時代,把用戶綁定在自己的服務上,android在 各個方面都和Google自身的互聯網產品高度集成,只要用戶使用Google的產品,Google就能從中賺錢。
Google已經足夠仁慈了。Android這樣創新的技術,已經免費給你們用了,Google也不指望HTC、中國移動能夠貢獻多少源代碼給社 區,但是好歹不能斷了Google的財路吧?事實的情況是,HTC、中國移動瘋狂進行“去Google化”,挖空心思剪裁掉Google的 服務,用自己的取而代之,這無疑觸動了Google的核心利益。他們一面從android社區吸取了新鮮的血液,一面又妄圖把創新的帽子帶在自己頭上。 Google會眼睜睜的看著他們這麼做麼?當然不會。
三.社區控制
Android 是開源產品,這並不意味著Goolge會喪失對整個社區的控制力,它絕不會傻到某一天讓OMS/Sense UI這樣的Android的分支反過來在市場上擊敗android的主干。Google會牢牢的控制住整個社區,使得社區按照它所期望的方向發展。在這 裡,我重新說明一次,開源不等於開放,看一個產品是否開放,要看是否有大量三方的源代碼進入主干。
Google控制社區的核心手法就是頻繁升級android的同時少量修改API,造成兼容性問題。毫無疑問,開發人員會緊跟Google的步伐使 用上新的API開發出新的應用程序,消費者也樂於購買這些帶有新功能的設備。真正郁悶的,是HTC和中國移動這樣定制android桌面環境的終端廠商。
做過軟件開發的都知道,底層一個API的變動,會造成大量兼容性問題,極端情況下甚至會導致整個應用程序重寫,HTC、OMS正是處於這種情況之 下,這就是Hero 2.2的ROM一再推遲,OMS甚至還在1.5版的原因。HTC和中國移動天真的以為自己大量修改了Android的UI就叫創新,就能贏得消費者。實際 上,只要他們不把那些自作聰明的修改貢獻給Android社區進入Android的代碼主干,那麼android的升級之日,就是他們的痛苦之時。
就讓我們看看,到底是Google改一個API容易,還是HTC/中國移動重寫一次UI容易;android到底是Goolge的,還是HTC/中
接上頁
國移動的。四.混亂分支
Android的開放帶來了大量三方開發小組,每個小組都開發自己的ROM,都想打響自己的品牌,卻都又不曾有計劃把自己的修改貢獻回社區。再加上 水貨手機必須要破解,整個android社區三方ROM亂飛。
當年Windows Mobile就是死在三方ROM之上,Android不過是在重復Windows Mobile的老路。android一面強調用戶體驗,一面還需要用戶掌握刷機的知識才能夠正常使用,簡直就是自己扇自己耳光。
那些三方 ROM根本沒有經過嚴格的測試,不出問題反而不正常了,用戶不會把這筆帳算在三方ROM小組上,怨恨自然累積在android上。
五.品牌之惑
HTC就是一個**。在手機行業摸爬滾打這麼多年,排名還是在10名開外。雖然HTC在手機玩家圈裡口碑不錯,但是普通大眾從來就沒有認可 過。這時Google急了,遲遲沒有一個重量級手機廠商支持,android的推廣舉步維艱,於是Google和HTC聯合推出了自有品牌的手機。
這是一個b0弈。Google不會讓其他人基於Android開發一個擊敗android的系統,同理,HTC也不會傻到讓 Google在手機終端市場樹立起品牌擊敗自己。這樣兩個各懷鬼胎的廠商生產出的Nexus One注定就是一個失敗的產品。從上市以後,無論是漂移還是信號,Nexus One的各種硬件小瑕疵層出不窮,這是在HTC其他手機上不曾有過的。
而社區中其他的三星、索愛、LG都是q1ang頭草,每個手機操作系統都插一腳,寄希望於它們全力支持android就是癡人說夢。
六.希望之星
生死存亡之際,Moto鼎力支持為整個垂死的android社區帶來了一絲光明。憑借Moto在北美市場的良好口碑,忠實的品牌支持者,積累多年手 機研發經驗,廣泛的營銷渠道,Droid一出世,就萬眾矚目,果然不負眾望取得良好的銷售成績。
在開發策略上,Moto顯得十分老道,Droid直接搭載標准Android,沒有過多的修改。而緊接著的ME600使用的Blur界面也被評價為 “更像一個應用程序而不是一個UI”,這其實是保證了在android的升級時的兼容性,最大程度上減少了代碼維護。 Google的服務悉數保留,新添加的服務只是錦上添花。這是一個強強的聯合,Moto賣出去了手機,Google得到了用戶。
Moto拆分手機部門的消息傳出,Moto和Google之間的關系更為微妙。既然Google出了Nexus One,鐵定要進入終端市場了,那麼Moto的硬件設計、品牌、渠道都是不差錢的Google渴望的。剝離掉基站部門的Moto簡直就是為Google量
接上頁
身打造的,倘若Google能夠並購Moto,那麼無疑是Android社區的一個大利好,而那個時候,android才具有了和iPhone一爭高下的 實力。七. 總結
android社區裡的廠商到了考慮如何貢獻而不是一味索取的時候了。
一個健康社區,必須是互惠的。
Android開源但不開放。進入android社區就等於被Google牢牢控制。
Google的核心利益在於使用android綁定用戶到它的服務上。去Google化會傷害整個社區,必然遭到Google的報復。
OMS、Sense UI、LePhone的UI這樣獨立於android主干之外又不貢獻回社區的UI會在社區強大的力量面前被碾得粉身碎骨。
一台需要不停刷機才能正常使用的手機只是Geek們的玩具,而非普通用戶的工具。
HTC知名度的問題不是一天兩天了。這次痛下決心放棄多普達,統一成HTC可以看成一個變革。
如果不想貢獻,那麼就不要改動Android本身。多學習一下Moto,它深刻的理解了android的游戲規則。
想要快速獲取android手機的ROOT權限嗎?也許因為ROOT教程太復雜,也許因為不會進工程模式,讓我們在使用android手機時感覺像是開別人的車一樣,總不那麼順手
android模擬器的重點就是商業應用,Google采用了一些手法來繞過這問題,建築在android之上的硬件驅動和應用程序,要求開源社區為它做貢獻,卻又不願提供回報。
Service(服務)是一種在後台運行,執行長時間運行的操作,無需與用戶交互的組件。例如,一個服務可以在後台播放音樂,用戶在不同的應用程序或者可能通過網絡獲取數據,而不阻
android Binder機制大部分都是使用的IPC,進程間通信機制有很多種,例如Linux中可以采用管道,消息隊列,信號,共享內存,socket等,這些都可以實現進