Android從來都是Linux,但多年來Android壹直獨立發展,其代碼沒有被整合到主流Linux中。Linux鼻祖、首席開發者萊納斯·托瓦茲(Linus Torvalds)希望Android正式回歸Linux。
Android和Linux的糾紛起源於2010年秋季,Google工程師帕特裏克·布拉迪(Patrick Brady)當時稱Android不是Linux。但實際情況並非如此,從本質上來說Android就是Linux。
Google為Android確立了不與主流Linux內核兼容的策略。Linux基金會(Linux Foundation)穩定版Linux內核維護工程師、Linux驅動程序項目(Linux Driver Project)掌門格雷格·克羅赫曼(Greg Kroah-Hartman)表示,“Android內核代碼不只是drivers/staging/android目錄下的壹些驅動程序。 Android系統的正常運行需要Google新開發的lock類型,以及核心系統中的hook。要為Android開發硬件驅動程序,開發者需要正確地 使用新lock和奇異的安全模式。另外,Android還使用了完全不同的幀緩沖器驅動程序接口。”
Android和Linux之間的差異來自多個方面。其中之壹是Google的Android開發團隊采用自主方式解決能耗問題;另外壹個因素是Android團隊忙於開發Android設備細節問題,在與Linux核心團隊合作方面做得不夠好。
開發者社區在如何恰當地在Linux中處理Android特有代碼方面有很多爭論,爭論的結果是托瓦茲2009年年末將Android驅動程序剔出Linux內核。
盡管Android團隊和Linux團隊有分歧,但Android從來沒有面臨因違反GPLv2而遭到Linux團隊起訴的風險。托瓦茲曾表示,有關Android違反GPL的說法是“完全錯誤的”。
托瓦茲去年秋季曾表示,“盡管還有許多工作需要做,但Android和Linux最終將回歸相同的內核,這壹工作在4-5年內無法完成。”克羅赫曼當 時也表示,問題之壹是,“Google的Android團隊人員少,任務緊,資源有限,從長期來看,與我們合作有助於他們降低成本”。托瓦茲說,“我們只是過去壹段時間的方向不同,從長期來看我們還會合二為壹,所以我沒有什麽好擔心的。”
Android和Linux整合的步伐快於預期。在去年10月份的內核峰會上,Linux內核開發者“壹致認為,Android內核代碼應當整合到主流內核中”,並因此創建了Android主流化項目(Android Mainlining Project)。
克羅赫曼去年12月份表示,“在3.3版內核發布時,Android內核的絕大部分內容將被整合到主流內核中,但還有許多工作需要完成,才能更好地滿足內核社區的需求,這需要更長的時間。”
目前,Android代碼可以在Linux 3.3中編譯,而且能夠運行。但克羅赫曼指出,Android的WakeLocks尚未被整合到主流內核中。