微軟將在下一代Windows系統中新增對安卓應用的直接支援的傳言已經發酵很久了。從市場角度,缺乏手機、平板裝置移動應用支援的Windows系統支援安卓App是個不錯的策略,可以很大程度上打消使用者選擇Windows移動裝置的疑慮。但是,Windows要原生支援安卓應用還需要面臨許多現實困難,這些困難不解決,反而可能傷害Windows系統本身的信譽。
簡單地讓安卓應用執行在Windows系統中很容易,現在就有第三方開發的Windows版本安卓模擬器,對各類應用的相容性很好。Windows可以透過虛擬機器來支援安卓App,將應用需要的資料,如通訊錄資訊、本地檔案庫等透過虛擬機器轉換為安卓應用可以讀取的格式,這樣就可以很完美地執行絕大多數安卓程式了。但是,事情並不是看上去這麼簡單的。
最大的風險是安全隱患。Windows的手機版本從誕生之初就擺脫了困擾桌面版本多年的安全性較差的形象,憑藉類似iOS系統的嚴格許可權控制策略一舉成為最安全的手機系統之一。桌面版本的Windows到了8.1這一代,對病毒與惡意軟體的抵禦能力也提升了幾個層次。微軟對應用商店的管理也相當嚴格,WindowsStore幾乎沒有GooglePlay那樣的讓惡意軟體混入市場的恥辱記錄。下一代的Windows10的整體安全性肯定會勝過現在的安卓平臺,這也將是微軟的一大競爭優勢。
然而,一旦Windows能夠原生支援安卓應用的執行情況就不同了:安卓平臺的App早就習慣了使用過多的許可權、讀取大堆的系統資料,並隨意與其他應用共享儲存空間。系統控制這些應用的許可權並不難,理想的做法是將每個應用的許可權限制在最低必要水準,不該有的許可權一律斃掉--但是無論是系統還是使用者自己都難以辨識哪些許可權該保留哪些該踢掉。
許多應用要正常工作需要讀取通訊錄、各種感測器資料、共享目錄、GPS資料等,偏偏這些資料經常都十分敏感,很容易成為隱私洩露的源頭--何況安卓應用在洩露隱私、隱藏惡意功能方面劣跡斑斑。許可權控制是安全保護的最重要環節,卻恰恰是最讓人頭疼的部分。
第二個麻煩是效能。在PC平臺上執行安卓應用問題不大,因為主流PC的效能遠遠勝過旗艦智慧手機,有充足的資源來支援虛擬機器模擬ARM平臺流暢處理安卓程式;但主流的Windows手機在配置上大都比同時代的安卓機型低一級,尤其是記憶體容量相差較大。主流安卓智慧機已經普及2G記憶體,Windows手機卻依舊停留在1G水平。這點記憶體再在底層的Windows系統上透過虛擬機器跑安卓App,效果可想而知。此外,大型遊戲、影像處理等應用在晶片速度較低的Windows手機上執行也自然不會有什麼令人滿意的體驗。
如果Windows想要在桌面PC上也支援安卓應用,那麼又一個問題出現了:為觸控最佳化的應用很難用鍵盤滑鼠來控制。有些情況下用鍵盤滑鼠完全不能正常使用,使用者又不可能為此專門買塊多點觸控屏。考慮到這一點,微軟幾乎不可能讓桌面平臺獲得原生安卓應用支援。
其他的一些可能的障礙包括解析度相容性――還好主流Windows手機的解析度和主流安卓裝置差不多,所以這個問題不大;安卓應用對系統基礎功能,尤其是GMS(GoogleMobileService)的要求――這意味著Windows可能要在虛擬機器中預載GMS服務;支援安卓所需要的專利授權--所幸微軟的專利庫讓它不用太在意這件事,需要時進行交叉授權即可。
還有一個不可忽視的矛盾在於,如果所有的問題都得到了解決,Windows可以完美地當成安卓系統來用,那麼開發者何必費事去開發Windows應用?微軟的目標是讓Windows應用成為主流,而不是為安卓的興旺添柴加火。支援安卓應用終究只能是權宜之計,而不是基本原則。
綜合這些分析,微軟即便提供了系統原生安卓應用支援也將有很多限制:首先,微軟的主要策略將是提供方便的工具幫助開發者將安卓應用轉換為Windows應用;微軟不會在桌面平臺中支援安卓;在移動平臺上,微軟可能會採取白名單或獨立的應用商店的模式,僅允許透過微軟稽核的安卓應用在Windows系統上執行;最後,可能只有達到一定配置水平的Windows裝置被允許執行高效能要求的安卓應用;透過這些手段,微軟可以一方面讓主流安卓應用成為壯大Windows生態的生力軍,另一方面將潛在的風險控制在最低水平。
考慮到Windows10的釋出時間,我們可能會在Windows10的第一個重要升級版本中看到安卓應用原生支援能力。這項功能可能成為微軟在移動領域的一項殺手鐧,幫助Windows躋身三大移動平臺系統之列。對於業界而言微軟的這種做法當然是好事,畢竟安卓和iOS的戰爭持續這麼久,第三方的崛起總歸能讓劇情變得有趣一些。