Email me: jollen # jollen.org

more: Jollen 的 Embedded Linux 教育訓練

« August 2012 | (回到Blog入口) | October 2012 »

September 2012 歸檔

September 11, 2012

即將開始提供的內訓課程:Android 電源管理、硬體加速與 Multi-Core HAL

這二個月的時間,有一半都投資在 Multi-Core 的技術工作上,開發之餘,順勢整理了 8 門課程給一些客戶。日前也開始進入教材編輯階段了,本週完成 3 門課程,在此簡單做個紀錄。

Android 電源管理: PowerManagerService, Power Hint 與 Power HAL

Jelly Bean 強化了 Power HAL 的功能,並且透過 Power Hint 的方式增強 Power Saving。這個主題會著重在 Power HAL 的實作,以及 Wakelock 的原理。如何將 Control Group、CPU Governors 與 PowerManagerService 放在一起使用 (Put all together):能達到什麼目標,解決哪些過去的問題?都是這門課程的重點。

Android Hardware Rendering and Composer

針對 SurfaceFlinger的Hardware Rendering 架構做介紹,此外也將介紹 hwcompower 的原理以及實作概念。這門課程是 Android Graphics System 的延伸,特別將硬體加速的部份抽離出來,獨立講解。這門課程的重點戲之一,就是 hwcomposer HAL 的實作。

HAL Stub: Implementation in Multi-core Way

這是筆者近期比較特別的研究主題,實作成果也陸續整合至 MagicLEGO 平臺,或許未來能提供一個絕佳的效能與多核心 Turnkey solution。本課程跨越 Android Framework、Kernel scheduling、Thread building block 等多個領域,將是未來很重要的多核心技術。本課程利用簡單的實例,說明 HAL 的實作如何針對多核心進行重構,以支援多核心環境。

後記

上述課程,都會搭配 Simple code 進行講解,當然也會有實作展示。所有的成果,都會整合至 MagicLEGO 平臺,課程也以 MagicLEGO 做為講解標地。

September 12, 2012

小三大戰簡史

昨天一個朋友問到什麼是「小三大戰」,驚訝之餘,其實也反應出台灣中階主管不太關注網路事件的問題。所以我就簡單介紹了有名的小三大戰,細節,網路上有豐富的資訊。

小三大戰

小米手機創造了新的銷售模式,簡單說就是和社群緊密地走在一起。高配置的硬體規格,加上親民的價格,小米手機一推出果真轟動。小米之後,360也發表特攻手機 (稱為 AK47),同樣講求高階硬體規格,以及漂亮價格。不想讓小米專美於前,就在360手機開始受到各方觀注的同時,360董事長周鴻禕發表微博,質疑小米機水軍炒作 (網路炒作)。小米手機副總裁很快給了回應,他說360手機雙核1G還賣這種價錢,價格不如同等級的小米機。就當雙方嘴巴還沒說熱時,小米董事長雷軍迅速加入戰團,史稱小三大戰 (小米與360大戰)。

小三大戰到後來幾乎演變為人身攻擊,周鴻禕說雷軍是機霸,別人碰不得他的奶酪。雷軍叫周鴻禕放下AK47,不要沉醉於東方不敗的幻覺中。周鴻禕後來在微博上說「到朝陽公園見面」,疑似要和雷軍定孤支 (決鬥),讓小三大戰進入高潮。雙方戰火正酣時,QQ董事長馬化騰又加進來幫腔,演變成「小三Q」大戰。

其實二年多前,馬化騰和周鴻禕也打過口水戰,史稱「3Q大戰」。

September 16, 2012

宏碁與阿里雲事件附錄:除了阿里雲,中國還有哪些 Android ROM?

近幾天大家都在新聞媒體上看到了宏碁與阿里雲事件,這反應了定製 Android ROM 在中國已經是一個熱門的研發項目。定製 ROM 的目的無疑是為了搶佔互聯網的商機。在不違反 Apache License 與 Android 商標權的前提下,廠商可以自由地移除 Google 服務,並且加入自已的訂製服務。

這是網路版的圈地活動。這也難怪 Google 要在發表會前,要求宏碁臨時抽腿。

訂製 Android ROM 是 AOSP (Android Open Source Project) 的分支 (Branch),同時也以刷機方式,提供用戶自由替換硬體上的操作系統。例如,不喜歡官方 Sense UI 的用戶,可以將手上的 HTC 手機刷成 MIUI。

用戶刷機,到底刷上誰的 ROM,這件事情真的很重要。因為這是一種渠道 (通路)。能否掌握刷機渠道,影響網路圈地競爭成敗。例如:我們可以想辦法讓所有 HTC 手機的用戶,都刷上我的 ROM。當然,我的 ROM 裡面,都可以把別人 (Google) 的服務拿掉,換成自已的服務。

除了新聞上曝光的阿里雲外,在中國還有哪些訂製的 Android ROM 呢?讓我們來總覽一下。

一、CyanogenMod (CM):這是由 Cyanogen 社群所製作的 Android ROM,普遍受到中國社群與開發者的喜愛。Cyanogen 可以說是 Android ROM 之父。目前筆者所開發的多核心 Android ROM 也是建構在 CM 的基礎之上。所以,CM 是巨人,大家都站在他的肩膀上。

二、阿里雲:由阿里巴巴所推出的版本,主打雲計算,提供像是雲儲存等服務。阿里雲當然也把阿里巴巴的消費服務整合進去了,並且也替換掉通訊錄、日曆、搜尋引擎、郵件服等服務。這也難怪 Google 有話要說。

三、百度雲:最新加入戰局的 Android ROM。百度雲於 2012 年 6 月 4 日推出,不用介紹也知道百度雲整合了自家的搜索服務。Dell 百度雲手機就採用了這款 Android ROM。

四、樂OS (LeOS):聯想推出的 Android ROM。

五、TITA。這也是最近加入戰局的 Android ROM,發佈於 2012 年 4 月份,開發者是騰訊。

六、樂蛙OS:針對千元以下雙卡雙待智能手機開發的 Android ROM。這樣一說就很明顯了,這是專門針對聯發科平臺所訂製的 Android ROM。

介紹到這裡,大家應該可以知道,為什麼低價手機的 Design house (過去被大家稱為山寨商) 只要專心做好「品牌硬體」即可。中國的低價智能手機市場需求,都還沒走到山腰,接下來的需求量會呈現很陡峭的向上趨勢。但是很可惜,過去二年缺乏佈局的台灣供應鍊,將完全沾不到好處,原因是中國供應鍊已經能 100% 自製自足,並且競爭規則也改變了。

七、點心OS:這是在創新工場裡誔生的 Android ROM,可以說是中國訂製 Android ROM 的第一家,出現時間較早。開發商北京風靈創景科技是創新工場投資的第一家公司。點心OS團隊過去也拜訪過台灣的硬體廠,不過台灣的硬體廠對這個項目反應似乎較冷淡。目前合作廠商名單裡也有宏碁。

八、MIUI:把 MIUI 放在最後當壓軸,這就是小米公司所推出的 ROM,目前小米手機就是搭配 MIUI 出貨。MIUI 也是基於 CyanogenMod ROM 所訂製的版本。MIUI 支援的機型較多,你可以把三星、HTC 或 Moto 等眾多手機硬體,刷成 MIUI。

結語

小米手機的高知名度真的不必多說了,它的 MIUI 確實得到許多用戶的支持與肯定。刷機文化將讓傳統的手機市佔率計算公式失真。原因很簡單,例如:每賣出的 10 支 HTC 手機裡,就有 3 個用戶把機器刷成 MIUI,這 3 支手機到底要算 HTC 品牌還是算 MIUI 品牌。

所以說,市佔率以後要分為硬體市佔率,以及互聯網裝置市佔率二個數字。以上述的例子來說,被刷掉的 3 支 HTC 手機還是要算在 HTC 的硬體市佔率裡,但是卻要加到 MIUI 的互聯網裝置市佔率上。結論是,Android ROM 以及刷機文化,會「刷」掉傳統品牌的互聯網價值。當然,這些廠商都意識到這個現象了,也正設法擁抱中國的互聯網。

September 22, 2012

宏碁與阿里雲事件附錄:到底,哪裡出錯了?從根本的 CTS 談起。

宏碁與阿里雲事件的核心是 Google 要求 Android 的硬體裝置都要通過 CTS 測試要求。CTS (Compatibility Test Suite) 的目的是維護建全的 Android 生態系統。簡單來說,CTS 相容的硬體,理論上能運行所有 Play 商店上的軟體;Play 商店上的應用軟體,當然是由遍佈全球的開發者或開發商所製作。Google 的理念是希望讓所有開發者的軟體,都能在所有 Android 的裝置上運行無礙。

CTS 相容性測試

因此,Google 會對 Android 生態系統裡的製造商做出一些要求。最基本的要求就是上述的 CTS。所有裝載 Android 作業系統的裝置,都必須通過 CTS 測試。CTS 完全是技術問題,這裡面包含了近 17,000 條測試案例 (Test case)。這些案例的目的,是為了確保手機的實作品質、實作完成度、用戶體驗的一致性等等。

通過 CTS 測試後,Google 就會把你的硬體加入到「CTS 相容硬體列表」。理論上,必須成為 CTS 相容硬體,才能讓產品上市銷售。問題是,Android 不是一個號稱人人皆可自由使用的開放系統嗎?市面上不是也銷售許多沒有通過 CTS 測試的 Android 裝置嗎?

這個問題又是另一個層次了 (商標授權),目前先暫不做討論。CTS 是單純的技術問題,我認為一些媒體報導把 CTS 相容性與 Google 的商業戰略牽扯在一起,略有不妥。CTS 是為了幫助硬體廠,它是對大家都有益的必要過程。

Play 商店眾多軟體,你不知道使用者今天會下載哪個應用軟體,如果 Android 裝置在研發時,出了一丁點差錯,可能有些軟體在這個硬體上,會發生運行失敗的問題。CTS 是為了幫助硬體廠,提升產品質量,避開這些技術問題。

我們必須把 CTS 做到 100% Pass,也就是上述 17,000 個測試案例都能通過,再將報告提交給 cts@android.com。然後,你的硬體就成為 CTS 相容設備了。這是 Google 對 Android 裝置做授權的第一個等級。

GMS 套件與授權

成為 CTS 相容設備後,上面是沒有 GMS 套件的。GMS 套件包含許多 Google 官方的應用軟體,例如:Play 商店、Gmail、Google Map、Youtube、Google Calendar、Google Talk 等等。要取得 GMS,我們就要向 Google 申請授權;有難度的地方就是在這裡。

因為一些考量,Google 的授權合約裡,不一定會授權 GMS 裡的所有軟體。Google 會針對申請者的「基本條件」來客製化授權合約。這些條件並沒有很特定的項目,像是品牌知名度、工業設計、產品相互競爭關係、銷售地區等等,都會被列入考慮。但不管如何,GMS 裡一個天字第一號的軟體「Play 商店」通常都會授權給申請者。所以,申請者可能只能拿到 GMS 的部份授權,而且也不能使用 Google 商標;這是 Google 對 Android 裝置做授權的第二個等級。

第三個等級就是取得全套的 GMS 授權。根據我過去所參與過的專案來看,這個等級的難度比想像中更高,目前能取得全套授權的廠商並不多。這個等級的授權,能使用 Google 商標,簡單說,就是手機上能打上 Google 的字樣。所以,要知道有哪些廠商取得這個等級的授權,是很容易的。

授權等級

Google 針對 Android 裝置的授權:

1. 通過 CTS,授與 Android 商標使用權,但沒有 GMS 授權。
2. 通過 CTS,授與 Android 商標使用權,取得部份的 GMS 授權,但沒有 Google 商標使用權。
3. 通過 CTS,授與 Android 商標使用權,取得完整的 GMS 授權,有 Google 商標使用權。

結語

另外,還有幾點要注意的是:

1. Android 確實是開放平臺,這和上述的說明沒有衝突。將宏碁與阿里雲事件與「Android 邁向封閉」做關聯,是有失專業的報導。

2. Android 的開放有二個層面。第一、開放框架與虛擬機的原始碼,稱為 Android Open Source Project (AOSP)。第二、開放 API,即 Android SDK,人人都可以為 Android 開發應用軟體。

3. Android 的開放性是一個層面,Android 的 Ecosystem 又是另一個層面。Google 以最基本的 CTS 來維持 Android 生態系統的健全。

最後,阿里雲事件來說,不是上述的 (1),也不是 (2) 或 (3),這又是另外一個層次的問題。阿里雲,或是其它客製化的 Android ROM,可能都不考慮 CTS,也沒有通過 CTS 測試。如果把這些 ROM 放到宏碁的硬體上,可能真的不行,原因是宏碁或許和 Google 簽訂了 GMS 方面的合約,當中可能包含業界所稱的「反 Android 分裂條款」;不過詳情我們當然無從得知。

不過,會有這種失誤,除了可能這個合作關係太高調外,硬體廠的專業經理人專業度可能也要受到挑戰;當初在規劃時,就應該要做考量與溝通。花轎都到門口了,結果新娘還娶不回家,不免讓人把芧頭指向當初介紹雙方認識的媒婆 (經理人) 身上。

至於,如果把阿里雲放到白牌硬體上,是否就可行?理論上,是。但沒有通過 CTS 測試的話,因為沒有 Android 商標使用權,所以使用上要注意 trademark 的法律問題。此外,也不會有 GMS 授權,如果手機上內置了 GMS 套件的軟體,例如:「Play 商店」,那就可能會被視為盜版。此外,這個情況,也要注意 Apache License 條款裡的 Copyright 與 Patent 等法律問題。

關於 September 2012

此頁面包含了在September 2012發表於Jollen's Blog的所有日記,它們從老到新列出。

前一個存檔 August 2012

後一個存檔 October 2012

更多信息可在 主索引 頁和 歸檔 頁看到。

Top | 授權條款 | Jollen's Forum: Blog 評論、討論與搜尋
Copyright(c) 2006 www.jollen.org