编辑“︁
Android
”︁(章节)
跳转到导航
跳转到搜索
Template:Editnotice load/content
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
== 軟體開發 == [[File:Android open source project.png|缩略图|150px|Android開源項目的堆棧]] {{Main|Android軟體開發}} {{wikiversity|Subject:Android}} Android是由[[Google]]開發的,直至準備發布前最新的修改及更新,在這一點上[[原始碼]]可供Android開源項目(AOSP)使用<ref>{{cite web |title=Welcome to the Android Open Source Project! |url=http://source.android.com/ |website=Android Source |publisher=[[Google]] |accessdate=2017-03-13 |deadurl=no |archiveurl=https://web.archive.org/web/20170312181554/http://source.android.com/ |archivedate=2017-03-12 }}</ref>,這是一個由Google領導的[[開放源碼|開源]]計劃<ref>{{cite web|url=https://source.android.com/|title=Android Open Source Project|accessdate=2017-12-22|deadurl=no|archiveurl=https://web.archive.org/web/20171222213939/https://source.android.com/|archivedate=2017-12-22}}</ref>。AOSP代碼可於無需的修改選定設備中找到,主要是[[Google Nexus]]及[[Google Pixel]]系列的裝置<ref>{{cite web |first1=Lynn |last1=La |first2=Brian |last2=Bennett |title=Powerful, pure Android handsets (roundup) |url=https://www.cnet.com/news/powerful-pure-android-phones/ |website=[[CNET]] |publisher=[[CBS Interactive]] |date=2014-11-14 |accessdate=2017-03-13 |deadurl=no |archiveurl=https://web.archive.org/web/20170314064159/https://www.cnet.com/news/powerful-pure-android-phones/ |archivedate=2017-03-14 }}</ref>。反過來說,那些開源碼是由[[代工生產]]定制和調整以在他們的硬件上執行<ref>{{cite web |first=Richard |last=Lawler |title=Android 4.1 Jelly Bean source code now available |url=https://www.engadget.com/2012/07/09/android-4-1-jelly-bean-source-code-now-available/ |website=[[Engadget]] |publisher=[[AOL]] |date=2012-07-09 |accessdate=2017-03-13 |deadurl=no |archiveurl=https://web.archive.org/web/20170314151854/https://www.engadget.com/2012/07/09/android-4-1-jelly-bean-source-code-now-available/ |archivedate=2017-03-14 }}</ref><ref>{{cite web |first=John |last=McCann |title=Android 4.1 Jelly Bean source code released |url=http://www.techradar.com/news/phone-and-communications/mobile-phones/android-4-1-jelly-bean-source-code-released-1088404 |archiveurl=https://web.archive.org/web/20120713010734/http://www.techradar.com/news/phone-and-communications/mobile-phones/android-4-1-jelly-bean-source-code-released-1088404 |website=[[TechRadar]] |publisher=[[Future plc]] |date=2012-07-10 |archivedate=2012-07-13 |accessdate=2017-03-13 |dead-url=no }}</ref>。此外,Android的源代碼並不包含某些硬件組件所需專有的[[驅動程式]]<ref name="Building for devices">{{cite web |title=Building for devices |url=http://source.android.com:80/source/building-devices.html |archiveurl=https://web.archive.org/web/20120107123505/http://source.android.com/source/building-devices.html |website=Android Open Source Project |publisher=[[Google]] |archivedate=2012-01-07 |accessdate=2017-03-13 |deadurl=yes }}</ref>,因此大多數的Android裝置(包括Google自己的裝置)最終都會附帶著[[自由及開放源碼軟件]]及[[專有軟件]]的組合,伴隨著用於進入Google服務所需的軟件,都會落入後者的一類。 === 更新時間表 === {{See also|Android歷史版本}} {{Include|Android_版本歷史|Logo=File:Android logo.png}} Google每年都會宣布對Android進行重大的增量升級<ref>{{cite web |first=Peter |last=K. |title=We'll get a major Android release every year from now on: Android M tomorrow, Android N in 2016 |url=http://www.phonearena.com/news/Well-get-a-major-Android-release-every-year-from-now-on-Android-M-tomorrow-Android-N-in-2016_id69709 |website=PhoneArena |date=2015-05-27 |accessdate=2017-03-13 |deadurl=no |archiveurl=https://web.archive.org/web/20170313214349/http://www.phonearena.com/news/Well-get-a-major-Android-release-every-year-from-now-on-Android-M-tomorrow-Android-N-in-2016_id69709 |archivedate=2017-03-13 }}</ref>。程式更新可以透過[[空中編程]]以無線傳輸於裝置上安裝<ref>{{cite web |title=OTA Updates |url=https://source.android.com/devices/tech/ota/ |website=Android Source |publisher=[[Google]] |accessdate=2017-03-13 |deadurl=no |archiveurl=https://web.archive.org/web/20161225095155/https://source.android.com/devices/tech/ota/ |archivedate=2016-12-25 }}</ref>。最新的主要版本是[[Android 16]]。 Android與其主要的競爭對手[[蘋果公司]]的[[iOS]]相比,Android的更新通常會明顯的延遲以讓各種設備安裝。除了Google的Nexus和Pixel品牌的裝置外,更新通常會在新版本發布的幾個月後到達,或者根本沒有<ref>{{cite web |first=Antonio |last=Villas-Boas |title=The latest Android delay is why I'm sticking to iPhone |url=http://nordic.businessinsider.com/nexus-6-android-70-nougat-update-delayed-2016-9/ |website=[[Business Insider]] |publisher=[[Axel Springer SE]] |date=2016-09-14 |accessdate=2017-03-13 |deadurl=no |archiveurl=https://web.archive.org/web/20170314063958/http://nordic.businessinsider.com/nexus-6-android-70-nougat-update-delayed-2016-9/ |archivedate=2017-03-14 }}</ref>。這部分是由於Android裝置中[[硬件]]各不相同<ref>{{cite web |first=Casey |last=Johnston |title=Android fragmentation: one developer encounters 3,997 devices |url=https://arstechnica.com/gadgets/2012/05/android-fragmentation-one-developer-encounters-3997-devices/ |website=[[Ars Technica]] |publisher=[[Condé Nast]] |date=2012-05-16 |accessdate=2017-03-13 |deadurl=no |archiveurl=https://web.archive.org/web/20170314063422/https://arstechnica.com/gadgets/2012/05/android-fragmentation-one-developer-encounters-3997-devices/ |archivedate=2017-03-14 }}</ref>,每次升級必須專門定制,那是個耗費時間和資源的過程<ref>{{cite web |first=Alex |last=Dobie |title=Solving the impossible problem of Android updates |url=http://www.androidcentral.com/solving-impossible-problem-android-updates |website=Android Central |publisher=Mobile Nations |date=2014-01-18 |accessdate=2017-03-13 |deadurl=no |archiveurl=https://web.archive.org/web/20170303061348/http://www.androidcentral.com/solving-impossible-problem-android-updates |archivedate=2017-03-03 }}</ref>。製造商經常會優先考慮他們最新的設備並遺下舊設備<ref name="alliance">{{cite web |first=Andrew |last=Cunningham |title=What happened to the Android Update Alliance? |url=https://arstechnica.com/gadgets/2012/06/what-happened-to-the-android-update-alliance/ |website=[[Ars Technica]] |publisher=[[Condé Nast]] |date=2011-06-28 |accessdate=2017-03-11 |deadurl=no |archiveurl=https://web.archive.org/web/20170312063530/https://arstechnica.com/gadgets/2012/06/what-happened-to-the-android-update-alliance/ |archivedate=2017-03-12 }}</ref>。在收到製造商的更新後,無線運營商可以讓裝置額外延遲推出,以便於升級發送給用戶之前,商戶能透過進一步根據自己品牌的需求而定制及在他們的網絡上進行廣泛的測試<ref name="alliance" /><ref>{{cite web |first=Chris |last=Hoffman |title=Why Do Carriers Delay Updates for Android But Not iPhone? |url=https://www.howtogeek.com/163958/why-do-carriers-delay-updates-for-android-but-not-iphone/ |website=How-To Keep |date=2013-05-25 |accessdate=2017-03-13 |deadurl=no |archiveurl=https://web.archive.org/web/20170312225544/https://www.howtogeek.com/163958/why-do-carriers-delay-updates-for-android-but-not-iphone/ |archivedate=2017-03-12 }}</ref>。由於一個製造合作夥伴沒有為[[驅動程式]]提供必要的更新,故此會有一些情況下無法進行升級<ref>{{cite web |first=Andrew |last=Cunningham |title=Why isn’t your old phone getting Nougat? There’s blame enough to go around |url=https://arstechnica.com/gadgets/2016/08/why-isnt-your-old-phone-getting-nougat-theres-blame-enough-to-go-around/ |website=[[Ars Technica]] |publisher=[[Condé Nast]] |date=2016-08-31 |accessdate=2017-04-03 |deadurl=no |archiveurl=https://web.archive.org/web/20170403194841/https://arstechnica.com/gadgets/2016/08/why-isnt-your-old-phone-getting-nougat-theres-blame-enough-to-go-around/ |archivedate=2017-04-03 }}</ref>。 隨著新版本的作業系統,Android設備中硬件的廣泛變化會導致軟件升級有嚴重的延誤,而[[修補程式]]通常需時幾個月才能到達消費者手中,有時甚至根本沒有。製造商和運營商缺乏售後支援服務受到消費者群及科技媒體的廣泛批評<ref>{{cite web |first=Priya |last=Ganapati |title=New Phones Still Sold With Old Versions of Android |url=https://www.wired.com/2010/03/android-version-confusion/ |website=[[Wired (website)|Wired]] |publisher=[[Condé Nast]] |date=2010-03-15 |accessdate=2017-03-13 |deadurl=no |archiveurl=https://web.archive.org/web/20170314064024/https://www.wired.com/2010/03/android-version-confusion/ |archivedate=2017-03-14 }}</ref><ref>{{cite web |author=cwalters |title=Make Sure You Know Which Version Of Android Is On That Phone Before Buying It |url=https://consumerist.com/2010/03/15/make-sure-you-know-which-version-of-android-is-on-that-phone-before-buying-it/ |website=[[Consumerist]] |publisher=[[Consumer Reports]] |date=2010-03-15 |accessdate=2017-03-13 |deadurl=no |archiveurl=https://web.archive.org/web/20170614172640/https://consumerist.com/2010/03/15/make-sure-you-know-which-version-of-android-is-on-that-phone-before-buying-it/ |archivedate=2017-06-14 }}</ref><ref name="The Guardian upgrades">{{cite web |first=Dan |last=Gillmor |title=Android's smartphone OS upgrade issues need more than a quick fix |url=https://www.theguardian.com/commentisfree/2012/oct/28/android-smartphone-os-upgrade |website=[[The Guardian]] |publisher=[[Guardian Media Group]] |date=2012-10-28 |accessdate=2017-03-13 |deadurl=no |archiveurl=https://web.archive.org/web/20170314064542/https://www.theguardian.com/commentisfree/2012/oct/28/android-smartphone-os-upgrade |archivedate=2017-03-14 }}</ref>。一些評論員指出了一點,指這個行業有一個金融刺激而不會為他們的裝置升級,由於缺乏為現有裝置更新,故推動購買新產品<ref>{{cite web |first=John |last=Leyden |title=Security takes a backseat on Android in update shambles |url=https://www.theregister.co.uk/2011/11/22/android_patching_mess |website=[[The Register]] |publisher=Situation Publishing |date=2011-11-22 |accessdate=2017-03-13 |deadurl=no |archiveurl=https://web.archive.org/web/20170314064219/http://www.theregister.co.uk/2011/11/22/android_patching_mess |archivedate=2017-03-14 }}</ref>,這種態度被形容為「侮辱」<ref name="The Guardian upgrades" />。《[[衛報]]》抱怨指更新的分發方法很複雜只是因為製造商和運營商都是這樣設計<ref name="The Guardian upgrades" />。2011年,Google與眾多業內人士合作宣布推出「Android更新聯盟」,承諾在每台裝置發布後18個月內提供及時更新,然而,自宣布以來,關於那個聯盟並沒有另外一個官方的說法<ref name="alliance" /><ref>{{cite web |first=JR |last=Raphael |title=It's time to rethink the Android upgrade standard |url=http://www.computerworld.com/article/2475873/android/it-s-time-to-rethink-the-android-upgrade-standard.html |website=[[Computerworld]] |publisher=[[International Data Group]] |date=2014-02-13 |accessdate=2017-03-13 |deadurl=no |archiveurl=https://web.archive.org/web/20170213194813/http://www.computerworld.com/article/2475873/android/it-s-time-to-rethink-the-android-upgrade-standard.html |archivedate=2017-02-13 }}</ref>。 2012年,Google開始將作業系統的某些方面(特別是其核心應用程式方面)脫鉤,這樣他們就可以通過[[Google Play]]商店獨立地為作業系統作更新。其中一個組件—[[Google Play服務]],是個閉源的、系統級的程序,可為Google服務提供[[應用程式介面]],為執行Android Froyo或更高版本的裝置上自動安裝更新。通過這些特性,Google可以透過Play服務添加新的系統功能及更新應用程式而毋需將升級分發到作業系統本身<ref>{{cite web |first=Ron |last=Amadeo |title=Balky carriers and slow OEMs step aside: Google is defragging Android |url=https://arstechnica.com/gadgets/2013/09/balky-carriers-and-slow-oems-step-aside-google-is-defragging-android/ |website=[[Ars Technica]] |publisher=[[Condé Nast]] |date=2013-09-03 |accessdate=2017-03-11 |deadurl=no |archiveurl=https://web.archive.org/web/20130903011541/http://arstechnica.com/gadgets/2013/09/balky-carriers-and-slow-oems-step-aside-google-is-defragging-android/ |archivedate=2013-09-03 }}</ref>,因此,[[Android Jelly Bean]]包含相對較少面向用戶的變化,對平台改進及細微變化更為側重<ref>{{cite web |first=Andrew |last=Cunningham |title=Review: Android 4.3’s multitude of minor changes future-proofs the platform |url=https://arstechnica.com/gadgets/2013/08/review-android-4-3-future-proofs-the-platform-with-multitude-of-minor-changes/ |website=[[Ars Technica]] |publisher=[[Condé Nast]] |date=2013-08-09 |accessdate=2017-03-13 |deadurl=no |archiveurl=https://web.archive.org/web/20170314063711/https://arstechnica.com/gadgets/2013/08/review-android-4-3-future-proofs-the-platform-with-multitude-of-minor-changes/ |archivedate=2017-03-14 }}</ref>。 2016年5月,[[彭博商業周刊|彭博]]報導稱Google正在努力讓Android保持最新狀態,包括加快安全更新率、推出技術的解決方案、減少對手機測試的要求,並對電話製造商進行排名,試圖利用「羞辱」他們來讓行為變得更好。正如《彭博》所說:「隨著智能手機變得越來越強大,複雜和可攻擊,讓最新的軟件能與硬件密切合作變得越來越重要。」Android的領導人{{le|浩史·洛克海默|Hiroshi Lockheimer}}承認指「這不是一個理想的情況」,他進一步評論指缺乏更新是「Android上安全性最薄弱的環節」。無線運營商在報告中被描述指那是「最具挑戰性的討論」,因為運營商的網絡測試審批時間較慢,儘管有一些運營商包括[[威訊無線]]及[[Sprint]],已經縮短了他們各自的審批時間。[[HTC]]的時任執行官賈森·麥肯齊(Jason Mackenzie)於2015年稱每月的安全性更新是「不切實際」,而Google試圖說服運營商從完整的測試程序中排除安全補丁。為了進一步說服,Google分享了與其Android合作夥伴更新設備的頂級手機製造商的一份清單,並正在考慮將名單向公眾發布。手機製造商Nextbit的聯合創始人及前Android開發人員Mike Chan說,「解決這個問題的最佳方法是對作業系統進行大規模的重組架構」或Google可以投資培訓製造商和運營商「成為優秀的Android人民<ref>{{cite web |first1=Jack |last1=Clark |first2=Scott |last2=Moritz |title=Google Steps Up Pressure on Partners Tardy in Updating Android |url=https://www.bloomberg.com/news/articles/2016-05-25/google-steps-up-pressure-on-partners-tardy-in-updating-android |publisher=[[Bloomberg L.P.]] |date=2016-05-25 |accessdate=2017-03-15 |deadurl=no |archiveurl=https://web.archive.org/web/20170330113629/https://www.bloomberg.com/news/articles/2016-05-25/google-steps-up-pressure-on-partners-tardy-in-updating-android |archivedate=2017-03-30 }}</ref><ref>{{cite web |first=Ron |last=Amadeo |title=Google’s making a list: Android OEMs to be ranked, shamed by update speed |url=https://arstechnica.com/gadgets/2016/05/google-hopes-to-shame-slow-android-oems-with-update-rankings/ |website=[[Ars Technica]] |publisher=[[Condé Nast]] |date=2016-05-26 |accessdate=2017-03-15 |deadurl=no |archiveurl=https://web.archive.org/web/20170316113202/https://arstechnica.com/gadgets/2016/05/google-hopes-to-shame-slow-android-oems-with-update-rankings/ |archivedate=2017-03-16 }}</ref><ref>{{cite web |first=Abner |last=Li |title=Report: Google pressuring OEMs and carriers to speed up Android updates, security patches |url=https://9to5google.com/2016/05/25/android-security-os-updates/ |website=9to5Google |date=2016-05-25 |accessdate=2017-03-15 |deadurl=no |archiveurl=https://web.archive.org/web/20170316025422/https://9to5google.com/2016/05/25/android-security-os-updates/ |archivedate=2017-03-16 }}</ref>」。 2017年5月,隨著[[Android Oreo]]發布,Google推出了Project Treble,旨在使製造商能夠更輕鬆,更快捷,及更低成本地將裝置更新到Android的最新版本。Project Treble通過新的「供應商界面」將供應商實施與Android OS框架分開(由硬體製造商所寫供設備專用的較低級別軟件)。在Android 7.0及更早版本中,並不存在正式的供應商界面,因此設備製造商必須更新大部分Android代碼,以將較新版本的作業系統移至設備中。借助Project Treble,新的穩定供應商界面可以進入Android特定部分的硬件,使設備製造商能夠簡單地通過更新Android作業系統框架來為裝置提供新的Android版本,而「毋須矽製造商的任何額外工作<ref>{{cite web |first=Ron |last=Amadeo |title=Google’s "Project Treble" solves one of Android’s many update roadblocks |url=https://arstechnica.com/gadgets/2017/05/google-hopes-to-fix-android-updates-no-really-with-project-treble/ |website=[[Ars Technica]] |publisher=[[Condé Nast]] |date=2017-05-12 |accessdate=2017-11-10 |deadurl=no |archiveurl=https://web.archive.org/web/20171203010312/https://arstechnica.com/gadgets/2017/05/google-hopes-to-fix-android-updates-no-really-with-project-treble/ |archivedate=2017-12-03 }}</ref>。」 2017年9月,Google的Project Treble團隊透露,作為改善Android設備安全生命週期努力的一部分,Google已經設法讓Linux基金會同意延長Linux長期支援(LTS)的內核分支的生命週期至少兩年。从 Linux 4.4 版本内核开始,未来版本的 LTS 内核将至少拥有 6 年的生命支持周期。<ref>{{cite web |first=Ron |last=Amadeo |title=Android users rejoice! Linux kernel LTS releases are now good for 6 years |url=https://arstechnica.com/gadgets/2017/09/android-users-rejoice-linux-kernel-lts-releases-are-now-good-for-6-years/ |website=[[Ars Technica]] |publisher=[[Condé Nast]] |date=2017-09-29 |accessdate=2017-11-10 |deadurl=no |archiveurl=https://web.archive.org/web/20171111043334/https://arstechnica.com/gadgets/2017/09/android-users-rejoice-linux-kernel-lts-releases-are-now-good-for-6-years/ |archivedate=2017-11-11 }}</ref>。 === Linux核心 === Android的[[內核]]是根據[[Linux核心]]的長期支援的分支,具有典型的Linux排程和功能<ref>{{cite video |url=http://www.youtube.com/watch?v=QBGfUs9mQYY |title=Androidology – Part 1 of 3 – Architecture Overview |date=2008-09-06 |accessdate=2007-11-07 |medium=Video |publisher=[[YouTube]] |archive-url=https://web.archive.org/web/20071115234932/http://youtube.com/watch?v=QBGfUs9mQYY |archive-date=2007-11-15 |dead-url=no }}</ref>。截至2018年,Android的目標是Linux內核的4.4、4.9或是4.14版本<ref>{{cite web |title=Modular Kernel Requirements |url=https://source.android.com/devices/architecture/kernel/modular-kernels#core-kernel-requirements |website=Android Open Source Project |publisher=[[Google]] |date=2018-08-06 |accessdate=2018-08-07 |deadurl=no |archive-url=https://web.archive.org/web/20190204225800/https://source.android.com/devices/architecture/kernel/modular-kernels#core-kernel-requirements |archive-date=2019-02-04 }}</ref>。實際的內核取決於單個設備<ref>{{cite web |first=Jerry |last=Hildenbrand |title=What is a kernel? |url=https://www.androidcentral.com/android-z-what-kernel |website=Android Central |date=2012-01-23 |accessdate=2017-06-20 |deadurl=no |archiveurl=https://web.archive.org/web/20170527152852/http://www.androidcentral.com/android-z-what-kernel |archivedate=2017-05-27 }}</ref>。 Linux內核的Android的變種具進一步改進了由Google實施在典型的Linux內核開發週期之外實現的架構變化,比如包含類似組件的裝置樹(device trees)、ashmem、ION,以及不同的{{le|內存不足|Out of memory}}(OOM)的處理<ref>{{cite web |title=What Are The Major Changes That Android Made To The Linux Kernel? |url=https://www.forbes.com/sites/quora/2013/05/13/what-are-the-major-changes-that-android-made-to-the-linux-kernel/ |website=[[Forbes]] |date=2013-05-13 |accessdate=2017-06-20 |deadurl=no |archiveurl=https://web.archive.org/web/20170104090354/http://www.forbes.com/sites/quora/2013/05/13/what-are-the-major-changes-that-android-made-to-the-linux-kernel/ |archivedate=2017-01-04 }}</ref><ref>{{cite web |title=LMG Upstreaming |url=https://wiki.linaro.org/LMG/Kernel/Upstreaming |website=Linaro |date=2016-12-05 |deadurl=yes |archiveurl=https://web.archive.org/web/20180109063643/https://wiki.linaro.org/LMG/Kernel/Upstreaming |archivedate=2018-01-09 |access-date=2018-09-20 }}</ref>。除此之外,Google為了能讓Linux在行動裝置上良好的運行,對其進行了修改和擴充。Android去除了Linux中的本地[[X Window系統|X Window System]],也不支持標準的[[Gnulib|GNU庫]],這使得Linux平台上的應用程式移植到Android平台上變得困難<ref>{{cite web | url=http://arstechnica.com/open-source/reviews/2009/02/an-introduction-to-google-android-for-developers.ars | title=Dream(sheep++): A developer's introduction to Google Android | date=2009-02-23 | last=Paul | first=Ryan | work=Ars Technica | accessdate=2009-03-07 | archive-url=https://web.archive.org/web/20110917193141/http://arstechnica.com/open-source/reviews/2009/02/an-introduction-to-google-android-for-developers.ars | archive-date=2011-09-17 | dead-url=no }}</ref>。Google也有某些功能貢獻回到Linux內核,特別是一種稱為「喚醒鎖(wakelocks)」的電源管理功能<ref>{{cite web |first=Brian |last=Proffitt |title=Garrett's LinuxCon Talk Emphasizes Lessons Learned from Android/Kernel Saga |url=https://www.linux.com/news/garretts-linuxcon-talk-emphasizes-lessons-learned-androidkernel-saga |website=[[LinuxCon]] |publisher=[[Linux Foundation]] |date=2010-08-10 |accessdate=2017-06-20 |deadurl=no |archiveurl=https://web.archive.org/web/20170629190535/https://www.linux.com/news/garretts-linuxcon-talk-emphasizes-lessons-learned-androidkernel-saga |archivedate=2017-06-29 }}</ref>,它最初被主線內核開發人員拒絕,部分原因是因為他們認為Google並沒有表現出維護他們自己代碼的任何意圖<ref>{{cite web |first=David |last=Meyer |title=Linux developer explains Android kernel code removal |url=http://www.zdnet.com/article/linux-developer-explains-android-kernel-code-removal/ |website=[[ZDNet]] |publisher=[[CBS Interactive]] |date=2010-02-03 |accessdate=2017-03-11 |deadurl=no |archiveurl=https://web.archive.org/web/20161015045139/http://www.zdnet.com/article/linux-developer-explains-android-kernel-code-removal/ |archivedate=2016-10-15 }}</ref><ref name="hartman">{{cite web |first=Greg |last=Kroah-Hartman |authorlink=Greg Kroah-Hartman |title=Android and the Linux kernel community |url=http://www.kroah.com/log/linux/android-kernel-problems.html |website=Linux kernel monkey log |date=2010-12-09 |accessdate=2017-06-20 |archive-url=https://web.archive.org/web/20190427144039/http://www.kroah.com/log/linux/android-kernel-problems.html |archive-date=2019-04-27 |dead-url=no }}</ref>。2008年,Patrick Brady於[[Google I/O]]上演說題為「Anatomy & Physiology of an Android」,並提出Android HAL的架構圖。[[硬體抽象層|HAL]]以*.so副檔名的形式存在,可以把Android框架跟Linux內核隔開,這種中介層的方式使得Android能在行動裝置上獲得更高的執行效率。這種獨特的系統結構受到Linux內核開發者[[葛雷格·克羅哈曼]]及其他核心維護者稱賞。Google還在Android的核心中正式加入了自己開發製作的一個名為喚醒鎖(wakelocks)的功能,該功能用於管理流動裝置的電池性能,但是該功能並沒有被加入到Linux核心的主線開放和維護中,因為Linux核心維護者認為Google沒有向他們展示這個功能的意圖和代碼。Google於2010年4月宣布他們將會聘請兩名員工跟Linux內核社團合作<ref>{{cite web |first=Paula |last=Rooney |title=DiBona: Google will hire two Android coders to work with kernel.org |url=http://www.zdnet.com/blog/open-source/dibona-google-will-hire-two-android-coders-to-work-with-kernelorg/6274 |archiveurl=https://web.archive.org/web/20100617005554/http://www.zdnet.com/blog/open-source/dibona-google-will-hire-two-android-coders-to-work-with-kernelorg/6274 |website=[[ZDNet]] |publisher=[[CBS Interactive]] |date=2010-04-15 |archivedate=2010-06-17 |accessdate=2017-03-11 |dead-url=no }}</ref>,但目前Linux內核對於穩定分支維護者的[[葛雷格·克羅哈曼]],他於2010年12月說他擔心Google不再試圖讓他們的代碼更改包含在主流Linux中<ref name="hartman" />。Google的工程師帕特里克·布雷迪(Patrick Brady)曾在該公司的[[Google I/O|開發者大會]]中表示過「Android不是Linux<ref name="ars introduction developer">{{cite web |first=Ryan |last=Paul |title=Dream(sheep++): A developer’s introduction to Google Android |url=https://arstechnica.com/gadgets/2009/02/an-introduction-to-google-android-for-developers/ |website=[[Ars Technica]] |publisher=[[Condé Nast]] |date=2009-02-24 |accessdate=2017-06-20 |deadurl=no |archiveurl=https://web.archive.org/web/20170704115615/https://arstechnica.com/gadgets/2009/02/an-introduction-to-google-android-for-developers/ |archivedate=2017-07-04 }}</ref>」,而他在周刊《[[Computerworld]]》補充指「讓我替你簡化一下,要是沒有Linux,這裡就沒有Android<ref>{{cite web |first=Steven J. |last=Vaughan-Nichols |title=Android/Linux kernel fight continues |url=http://www.computerworld.com/article/2469087/mobile-apps/android-linux-kernel-fight-continues.html |website=[[Computerworld]] |publisher=[[International Data Group]] |date=2010-09-07 |accessdate=2017-06-20 |deadurl=no |archiveurl=https://web.archive.org/web/20170214190045/http://www.computerworld.com/article/2469087/mobile-apps/android-linux-kernel-fight-continues.html |archivedate=2017-02-14 }}</ref>」。《[[Ars Technica]]》寫道:「儘管Android是建立在Linux內核之上的,但該平台與傳統的Linux堆棧桌面幾乎沒有共同之處<ref name="ars introduction developer" />。」 2010年2月3日,由於Google在Android核心開發方面和Linux社群方面開發的不同步,Linux內核開發者葛雷格·克羅哈曼把Android的驅動程序從Linux內核「[[狀態樹]]」(staging tree)上除去。<ref>{{cite news| language =zh-hans| author =新浪科技| coauthors =| url =http://www.enet.com.cn/article/2010/0204/A20100204608848.shtml| title =GoogleAndroid被Linux内核除名| work =| publisher =| pages =| date =2010-02-04| accessdate =2010-04-09| deadurl =yes| archiveurl =https://web.archive.org/web/20100208213750/http://www.enet.com.cn/article/2010/0204/A20100204608848.shtml| archivedate =2010-02-08}}</ref>2010年4月,Google宣布將派遣2名開發人員加入Linux核心社群,以便重返Linux核心。2010年9月,Linux核心開發者Rafael J. Wysocki添加了一個修復程序,使得Android的“wakelocks”可以輕鬆地與主線Linux核心合併。 2011年8月,Linux內核最早作者的[[林納斯·托瓦茲]]說:「Android和Linux最終都會重新回到一個共同的內核,但它可能不會持續4-5年<ref>{{cite web |first=Steven J. |last=Vaughan-Nichols |title=Linus Torvalds on Android, the Linux fork |url=http://www.zdnet.com/article/linus-torvalds-on-android-the-linux-fork/ |website=[[ZDNet]] |publisher=[[CBS Interactive]] |date=2011-08-18 |accessdate=2017-03-11 |deadurl=no |archiveurl=https://web.archive.org/web/20170218053104/http://www.zdnet.com/article/linus-torvalds-on-android-the-linux-fork/ |archivedate=2017-02-18 }}</ref>」。2011年12月,葛雷格·克羅哈曼(Greg Kroah-Hartman)宣布啟動Android的主流項目,其目的是要將一些Android[[驅動程式]]、修補程式及功能重新放進Linux內核中,從Linux 3.3開始<ref>{{cite web |url=http://www.h-online.com/open/news/item/Android-drivers-to-be-included-in-Linux-3-3-kernel-1400996.html |archiveurl=https://web.archive.org/web/20131208130029/http://www.h-online.com/open/news/item/Android-drivers-to-be-included-in-Linux-3-3-kernel-1400996.html |archivedate=2013-12-08 |title=Android drivers to be included in Linux 3.3 kernel |author=Chris von Eitzen |work=h-online.com |date=2011-12-23 |accessdate=2012-02-15 |dead-url=no }}</ref>。經過從前多次的嘗試合併後,Linux在3.5內核中,包括自動休眠和喚醒鎖功能功能。其界面是相同的,但是上游的Linux實現了容許兩種不同的中止模式:記憶體(Android使用的傳統中止模式)及磁碟(已知桌面上的冬眠)<ref>{{cite web|last=Jonathan|first=Corbet|title=Autosleep and wakelocks|url=https://lwn.net/Articles/479841/|publisher=LWN|deadurl=no|archiveurl=https://web.archive.org/web/20120826165126/http://lwn.net/Articles/479841/|archivedate=2012-08-26|accessdate=2018-09-21}}</ref>。Google維護著一個公共代碼存儲庫,包含著他們對Android的[[Rebasing]]到最新穩定的Linux版本的實驗工作<ref>{{cite web |url=https://www.phoronix.com/scan.php?page=news_item&px=MTMxMzc |title=Google Working On Android Based On Linux 3.8 |date=2013-02-28 |accessdate=2013-02-28 |deadurl=no |archiveurl=https://web.archive.org/web/20130302004730/http://www.phoronix.com/scan.php?page=news_item&px=MTMxMzc |archivedate=2013-03-02 }}</ref><ref>{{cite web |url=http://www.pocketdroid.net/google-working-on-experimental-linux-kernel-3-10-for-android/ |title=Google working on experimental Linux Kernel 3.10 for Android |publisher=Pocketdroid.net |date= |accessdate=2013-09-03 |deadurl=yes |archiveurl=https://web.archive.org/web/20130827220633/http://www.pocketdroid.net/google-working-on-experimental-linux-kernel-3-10-for-android/ |archivedate=2013-08-27 }}</ref>。 Android裝置的[[快閃記憶體]]被分成幾個分區,例如<code>/system</code>用於作業系統本身,而<code>/data</code>是用於用戶數據和應用程式的安裝<ref>{{cite web |last=Raja |first=Haroon Q. |url=http://www.addictivetips.com/mobile/android-partitions-explained-boot-system-recovery-data-cache-misc/ |title=Android Partitions Explained: boot, system, recovery, data, cache & misc |publisher=Addictivetips.com |date=2011-05-19 |accessdate=2012-09-15 |deadurl=no |archiveurl=https://web.archive.org/web/20120922024642/http://www.addictivetips.com/mobile/android-partitions-explained-boot-system-recovery-data-cache-misc/ |archivedate=2012-09-22 }}</ref>。跟Linux桌面發行版相比,Android設備的擁有人都沒有給予[[超級用戶]]的進入作業系統的權限,以及例如<code>/ system</code>是[[唯讀記憶體]]的敏感分區。然而,[[文件系統層次結構標準|檔案系統階層標準]]是可以透過利用Android中的[[電腦安全隱患|安全漏洞]]來獲取,那是開源社區經常使用它來增強其設備的功能<ref>參見[[Rooting (Android OS)|rooting]]</ref>,惡意的一方還可以透過安裝[[電腦病毒]]及[[惡意軟件]]來惡意獲取系統資料<ref>{{cite web |author=Jools Whitehorn |url=http://www.techradar.com/news/phone-and-communications/mobile-phones/android-malware-gives-itself-root-access-1062294 |title=Android malware gives itself root access | News |publisher=TechRadar |date= |accessdate=2012-09-15 |deadurl=no |archiveurl=https://web.archive.org/web/20120901170804/http://www.techradar.com/news/phone-and-communications/mobile-phones/android-malware-gives-itself-root-access-1062294 |archivedate=2012-09-01 }}</ref>。 根據[[Linux基金會]]的說法,Android是個[[Linux發行版]]<ref>{{cite web |url=http://www.linuxfoundation.org/news-media/blogs/browse/2012/12/what-year-linux-please-join-us-celebration |title=What a Year for Linux: Please Join us in Celebration |first=Amanda |last=McPherson |publisher=Linux Foundation |date=2012-12-13 |accessdate=2014-04-16 |deadurl=yes |archiveurl=https://web.archive.org/web/20140417232521/http://www.linuxfoundation.org/news-media/blogs/browse/2012/12/what-year-linux-please-join-us-celebration |archivedate=2014-04-17 }}</ref>,該基金會由Google的開源部門主管{{le|克里斯·迪博納|Chris DiBona}}<ref>{{cite web |url=http://derstandard.at/1308186313932/Interview-Google-Android-is-the-Linux-desktop-dream-come-true |title=Google: "Android is the Linux desktop dream come true" |first=Andreas |last=Proschofsky |work=derStandard.at |date=2011-07-10 |accessdate=2013-03-14 |deadurl=no |archiveurl=https://web.archive.org/web/20130422021245/http://derstandard.at/1308186313932/Interview-Google-Android-is-the-Linux-desktop-dream-come-true |archivedate=2013-04-22 }}</ref>及幾位記者組成<ref>{{cite web |first=Jerry |last=Hildenbrand |title=Ask AC: Is Android Linux? |url=http://www.androidcentral.com/ask-ac-android-linux |website=Android Central |publisher=Mobile Nations |date=2012-11-08 |accessdate=2017-03-11 |deadurl=no |archiveurl=https://web.archive.org/web/20170408213437/http://www.androidcentral.com/ask-ac-android-linux |archivedate=2017-04-08 }}</ref><ref>{{cite web |url=http://www.itworld.com/open-source/369810/android-really-linux-distribution |title=Is Android really a Linux distribution? |first=Jim |last=Lynch |work=ITworld |date=2013-08-20 |accessdate=2014-04-17 |deadurl=yes |archiveurl=https://web.archive.org/web/20140205165359/http://www.itworld.com/open-source/369810/android-really-linux-distribution |archivedate=2014-02-05 }}</ref>,其他人例如Google的工程師帕特里克·布拉迪(Patrick Brady)等,布拉迪表示在傳統[[類Unix系統]]的Linux發行意義上,Android並不是Linux;Android不包括[[GNU C函數庫]](它利用 [[Bionic (軟件)|Bionic]]作為替代C數據庫),以及Linux發行版中常見的一些其他組件<ref name="APIs">{{cite web |first=Ryan |last=Paul |title=Dream(sheep++): A developer’s introduction to Google Android |url=https://arstechnica.com/gadgets/2009/02/an-introduction-to-google-android-for-developers/ |website=[[Ars Technica]] |publisher=[[Condé Nast]] |date=2009-02-24 |accessdate=2017-03-11 |deadurl=no |archiveurl=https://web.archive.org/web/20170312064709/https://arstechnica.com/gadgets/2009/02/an-introduction-to-google-android-for-developers/ |archivedate=2017-03-12 }}</ref>。 隨著2017年[[Android Oreo]]的推出,Google基於安全考慮,開始要求新附帶[[系統單晶片]]的設備具有Linux內核版本4.4或更高版本,現有的裝置升級到Android Oreo,以及與舊的系統單晶片一起推出的新產品,均不受此規則所限<ref>{{cite web |first=Doug |last=Lynch |title=Google is Mandating Linux Kernel Versions in Android Oreo |url=https://www.xda-developers.com/google-mandating-linux-kernel-versions-android-oreo/ |website=[[XDA Developers]] |date=2017-09-02 |accessdate=2017-11-09 |deadurl=no |archiveurl=https://web.archive.org/web/20170904023054/https://www.xda-developers.com/google-mandating-linux-kernel-versions-android-oreo/ |archivedate=2017-09-04 }}</ref><ref>{{cite web |first=Mark |last=Wycislik-Wilson |title=With Android Oreo, Google is introducing Linux kernel requirements |url=https://betanews.com/2017/09/03/android-oreo-linux-kernel/ |website=BetaNews |publisher=[[eFront]] |date=2017-09-03 |accessdate=2017-11-09 |deadurl=no |archiveurl=https://web.archive.org/web/20171107013445/https://betanews.com/2017/09/03/android-oreo-linux-kernel/ |archivedate=2017-11-07 }}</ref>。 === 軟件堆棧 === [[File:Android-System-Architecture.svg|缩略图|右|300px|Android的系统架構圖]] 在Linux內核之上,有一些由[[C語言|C]]所寫的[[中介軟體]]、[[函數庫]]和[[應用程式介面]],以及運行包含Java兼容庫的應用框架上應用程式。Linux內核的開發則繼續獨立於Android的其他源代碼項目。 截至5.0版本,Android利用[[Dalvik虛擬機器]]作為[[虛擬機器#程式虛擬機器|程式虛擬機器]],它與{{le|實時的跟蹤編譯|Tracing just-in-time compilation}}(JIT)來執行Dalvik「DEX-代碼」(Dalvik的可執行程式),這通常是由[[Java位元組碼]]一同翻譯而來。繼基於跟踪的JIT的原則,除了解讀大多數應用程序代碼外,Dalvik執行編譯及每當應用程序啟動時,選擇本機執行的頻繁執行代碼段(痕跡)<ref>{{cite web |url = http://www.android-app-developer.co.uk/android-app-development-docs/android-jit-compiler-androids-dalvik-vm.pdf |title = A JIT Compiler for Android's Dalvik VM |date = May 2010 |accessdate = 2015-03-18 |author1 = Ben Cheng |author2 = Bill Buzbee |publisher = [[Google]] |website = android-app-developer.co.uk |format = PDF |pages = 5–14 |deadurl = yes |archiveurl = https://web.archive.org/web/20151106221110/http://www.android-app-developer.co.uk/android-app-development-docs/android-jit-compiler-androids-dalvik-vm.pdf |archivedate = 2015-11-06 }}</ref><ref>{{cite web |first=Phil |last=Nickinson |title=Google Android developer explains more about Dalvik and the JIT in Froyo |url=http://www.androidcentral.com/google-android-developer-explains-more-about-dalvik-and-jit-froyo |website=Android Central |publisher=Mobile Nations |date=2010-05-26 |accessdate=2017-03-11 |deadurl=no |archiveurl=https://web.archive.org/web/20170408183538/http://www.androidcentral.com/google-android-developer-explains-more-about-dalvik-and-jit-froyo |archivedate=2017-04-08 }}</ref><ref name="brady_dissects_android">{{cite web |first=Ed |last=Burnette |title=Patrick Brady dissects Android |url=http://www.zdnet.com/article/patrick-brady-dissects-android/ |website=[[ZDNet]] |publisher=[[CBS Interactive]] |date=2008-06-04 |accessdate=2017-03-11 |deadurl=no |archiveurl=https://web.archive.org/web/20170705145635/http://www.zdnet.com/article/patrick-brady-dissects-android/ |archivedate=2017-07-05 }}</ref>。Android 4.4引入[[Android Runtime]](ART)作為新的運作環境,在安裝應用程式時,它會使用{{le|提前編譯|Ahead-of-time compilation}}(AOT)來把應用程序字節碼完全編譯為[[機器語言]]<ref>{{cite web |url = http://www.androidpolice.com/2013/11/06/meet-art-part-1-the-new-super-fast-android-runtime-google-has-been-working-on-in-secret-for-over-2-years-debuts-in-kitkat/ |title = Meet ART, Part 1: The New Super-Fast Android Runtime Google Has Been Working On In Secret For Over 2 Years Debuts In KitKat |first = Cody |last = Toombs |work = Android Police |date = 2013-11-06 |accessdate = 2014-04-27 |deadurl = no |archiveurl = https://web.archive.org/web/20140513062758/http://www.androidpolice.com/2013/11/06/meet-art-part-1-the-new-super-fast-android-runtime-google-has-been-working-on-in-secret-for-over-2-years-debuts-in-kitkat/ |archivedate = 2014-05-13 }}</ref>。在Android 4.4中,ART是一項實驗性功能,默認情況下不啟用;它成為Android 5.0的下一個主要版本中唯一的運作選項<ref name="ars-njdk">{{cite web |first=Ron |last=Amadeo |title=Android N switches to OpenJDK, Google tells Oracle it is protected by the GPL |url=https://arstechnica.com/tech-policy/2016/01/android-n-switches-to-openjdk-google-tells-oracle-it-is-protected-by-the-gpl/ |website=[[Ars Technica]] |publisher=[[Condé Nast]] |date=2012-01-06 |accessdate=2017-03-11 |deadurl=no |archiveurl=https://web.archive.org/web/20170312065019/https://arstechnica.com/tech-policy/2016/01/android-n-switches-to-openjdk-google-tells-oracle-it-is-protected-by-the-gpl/ |archivedate=2017-03-12 }}</ref>。2015年12月,Google宣布Android的下一個版本將會切換到基於[[OpenJDK]]項目的Java實行方式<ref name="vb-openjdk">{{cite web|title=Google confirms next Android version won’t implement Oracle’s proprietary Java APIs|url=https://venturebeat.com/2015/12/29/google-confirms-next-android-version-wont-use-oracles-proprietary-java-apis/|website=VentureBeat|accessdate=2015-12-30|deadurl=no|archiveurl=https://web.archive.org/web/20151230021134/http://venturebeat.com/2015/12/29/google-confirms-next-android-version-wont-use-oracles-proprietary-java-apis/|archivedate=2015-12-30}}</ref>。 Android的[[C標準函式庫]]及[[Bionic (軟件)|Bionic]]都是由Google專門為Android而開發的軟件,作為[[BSD]]標準C程式庫代碼的推導。Bionic本身已跟特定於Linux內核的幾個主要特點而設計。使用Bionic而不是[[GNU C函數庫]](glibc)或[[uClibc]]的主要好處是:它運行時間的足跡較小,以及對低頻CPU進行優化。與此同時,Bionic根據BSD許可條款而獲得許可,當中Google找到更適合Android的整體許可模式<ref name="brady_dissects_android" />。 針對不同的許可模式,Google於2012年底將Android中的藍牙堆棧從GPL許可的{{le|BlueZ|Bluetooth stack#BlueZ}}轉移到Apache許可的BlueDroid<ref>{{cite web |url=https://lwn.net/Articles/597293/ |title=Returning BlueZ to Android |date=2014-05-06 |publisher=[[LWN.net]] |deadurl=no |archiveurl=https://web.archive.org/web/20140625090633/http://lwn.net/Articles/597293/ |archivedate=2014-06-25 |accessdate=2018-09-22 }}</ref>。 Android默認情況下並沒有本機[[X Window系統]],也不支援整套標準[[GNU]]庫。這使現有Linux應用程式或程式庫都難以移植到Android<ref name="APIs" />,直至Android的{{le|Android原生开发套件|Android NDK}}的r5版本完全以[[C語言|C]]或[[C++]]編寫的應用程序以獲得支援<ref>{{cite web |url = http://android-developers.blogspot.com/2011/01/gingerbread-ndk-awesomeness.html |title = Gingerbread NDK Awesomeness |first = Chris |last = Pruett |work = Android Developers Blog |publisher = Google, Inc. |date = 2011-01-11 |accessdate = 2014-04-22 |deadurl = no |archiveurl = https://web.archive.org/web/20140219125015/http://android-developers.blogspot.com/2011/01/gingerbread-ndk-awesomeness.html |archivedate = 2014-02-19 }}</ref>由C所編寫的程式庫也可以透過注入一個小[[墊片 (計算機)|墊片]]及使用[[Java本地介面]](JNI)以在應用程式中使用<ref name="sdlandroid">{{cite web |url = http://www.libsdl.org/tmp/SDL/README.android |title = Simple DirectMedia Layer for Android |work = [[Simple DirectMedia Layer|SDL]] |date = 2012-08-12 |archiveurl = https://web.archive.org/web/20120604080429/http://www.libsdl.org/tmp/SDL/README.android |archivedate = 2012-06-04 |accessdate = 2018-09-22 |dead-url = yes }}</ref>。 自Android Marshmallow發布以來,一系列指令實用程序的「{{le|玩具盒|Toybox}}」取代了之前Android版本中類似「[[Busybox]]」系列(''當Android於默認情況下不提供[[命令列介面]]時,它主要供應予應用程序使用'')<ref name="toyboxmarsmallow">[https://lwn.net/Articles/629362/ Android gets a toybox] {{Wayback|url=https://lwn.net/Articles/629362/|date=20160304204730}} on [[lwn.net]] by Jake Edge (January 14, 2015)</ref>。 Android也有另一個作業系統,名為「Trusty作業系統」,作為「Trusty」當中的一部分,軟件組件在行動裝置中支援著一個可信執行環境(TEE)。「Trusty和Trusty API是 可調整的......」Trusty OS的應用程式可以由C或C++所編寫(C++的支援是有限的),他們可以進入一個小型的C程式庫......所有Trusty應用程式都是單線程的;多線程的用戶空間目前並不支援......第三方應用程式的開發並非支援當前版本,而作業系統和處理器上使用軟件,為「受保護的內容執行[[數位版權管理|DRM]]框架」。TEE還有許多其他用途,例如行動支付、銀行業的保安、全磁碟加密、多重身份驗證,裝置重設保護、重播保護的持久性存儲、無線顯示受保護的內容(強制轉換)、安全的PIN和指紋處理,甚至是惡意軟件檢測<ref>{{cite web |url=https://source.android.com/security/trusty/index.html |title=Trusty TEE |deadurl=no |archiveurl=https://web.archive.org/web/20161018232112/https://source.android.com/security/trusty/index.html |archivedate=2016-10-18 |accessdate=2018-09-22 }}</ref>。 === 開源社區 === Android的[[原始碼]]是由Google在[[開源許可]]下發布,其開放的性質鼓勵著一個龐大的開發者社區及[[發燒友]]利用開源碼作為社區驅動項目的基礎,它可為舊設備提供更新、為高級用戶增加新功能,或最初隨附其他作業系統的裝置引入Android系統<ref>{{cite web |first=Damien |last=McFerran |title=Best custom ROMs for the Samsung Galaxy S2 |url=http://reviews.cnet.co.uk/mobile-apps/best-custom-roms-for-the-samsung-galaxy-s2-50007658 |archiveurl=https://web.archive.org/web/20120419194709/http://reviews.cnet.co.uk/mobile-apps/best-custom-roms-for-the-samsung-galaxy-s2-50007658 |website=[[CNET]] |publisher=[[CBS Interactive]] |date=2012-04-17 |archivedate=2012-04-19 |accessdate=2017-03-11 |dead-url=yes }}</ref>。這些社區開發的版本通常比較透過官方製造商/運營商的渠道更快為裝置帶來新功能和更新的,亦具有相當質量的水平<ref>{{cite web |first=Artem |last=Russakovskii |title=Custom ROMs For Android Explained – Here Is Why You Want Them |url=http://www.androidpolice.com/2010/05/01/custom-roms-for-android-explained-and-why-you-want-them/ |website=Android Police |date=2010-05-01 |accessdate=2017-03-12 |deadurl=no |archiveurl=https://web.archive.org/web/20170128133644/http://www.androidpolice.com/2010/05/01/custom-roms-for-android-explained-and-why-you-want-them/ |archivedate=2017-01-28 }}</ref>;為不能再接收官方更新的舊裝置提供持續性支援;或把Android帶到正式發布使用其他作業系統的裝置上,例如[[TouchPad]]。社區發布經常出現[[Root (Android)|Root]]前並包含由原始供應商並未提供的修改,例如讓裝置內處理器[[超頻]]或是[[動態電壓調節|調高/低電壓]]的能力<ref>{{cite news |last=Isaac |first=Mike |url=https://www.wired.com/gadgetlab/2011/04/cyanogenmod-android/ |title=Android OS Hack Gives Virtual Early Upgrade | Gadget Lab |publisher=Wired.com |date=2011-04-11 |accessdate=2012-09-15 |deadurl=no |archiveurl=https://web.archive.org/web/20120502133719/http://www.wired.com/gadgetlab/2011/04/cyanogenmod-android |archivedate=2012-05-02 }}</ref>。[[CyanogenMod]]是社區中使用最廣泛的韌體<ref>{{cite web |url=http://www.androidpolice.com/2012/05/28/cyanogenmod-has-been-installed-over-2-million-times-doubles-install-numbers-since-january/ |title=CyanogenMod Has Now Been Installed On Over 2 Million Devices, Doubles Install Numbers Since January |publisher=Androidpolice.com |date=2012-05-28 |accessdate=2012-09-15 |deadurl=no |archiveurl=https://web.archive.org/web/20120804015756/http://www.androidpolice.com/2012/05/28/cyanogenmod-has-been-installed-over-2-million-times-doubles-install-numbers-since-january/ |archivedate=2012-08-04 }}</ref>,惟現已停產並由[[LineageOS]]繼任<ref>{{Cite web|url=http://lineageos.org/|title=Lineage OS – Lineage OS Android Distribution|last=OS|first=Lineage|website=lineageos.org|access-date=2017-01-31|deadurl=no|archiveurl=https://web.archive.org/web/20161227215700/http://lineageos.org/|archivedate=2016-12-27}}</ref>。 從歷史上看,裝置製造商及行動運營商通常都不支持第三方韌體的開發。製造商對使用非官方軟件的裝置功能不正常,以及由此產生的支援費用表示擔憂<ref name="htcdev">{{cite web |url=http://htcdev.com/bootloader |title=HTC's bootloader unlock page |publisher=Htcdev.com |date= |accessdate=2012-09-15 |deadurl=yes |archiveurl=https://web.archive.org/web/20121019020546/http://htcdev.com/bootloader |archivedate=2012-10-19 }}</ref>。此外,如CyanogenMod般經修改的韌體有時也會提供例如[[Tethering]]等功能,否則運營商將收取額外費用。因此,許多裝置中常見的技術障礙,包括鎖定[[啟動程式]]及限制訪問root的權限都是常見於許多設備中。然而,隨著社區開發的軟件越來越受歡迎,[[美國]]國會圖書館館長在發表聲明之後,允許行動裝置進行[[越獄 (iOS)|越獄]]<ref>{{cite web |last=Sadun |first=Erica |url=http://www.tuaw.com/2010/07/26/library-of-congress-rules-in-favor-of-jailbreaking/ |title=LoC rules in favor of jailbreaking |publisher=Tuaw.com |date=2010-07-26 |accessdate=2012-09-15 |deadurl=yes |archiveurl=https://web.archive.org/web/20121030023251/http://www.tuaw.com/2010/07/26/library-of-congress-rules-in-favor-of-jailbreaking/ |archivedate=2012-10-30 }}</ref>,製造商和運營商經已對第三方開發軟件的立場軟化,包括[[宏達國際電子|HTC]]<ref name="htcdev" />、[[摩托羅拉]]<ref>{{cite web |first=Jordan |last=Crook |title=Motorola Offers Unlocked Bootloader Tool For Droid RAZR, Verizon Removes It |url=https://techcrunch.com/2011/10/24/motorola-offers-unlocked-bootloader-tool-for-droid-razr-verizon-removes-it/ |website=[[TechCrunch]] |publisher=[[AOL]] |date=2011-10-24 |accessdate=2017-06-25 |deadurl=no |archiveurl=https://web.archive.org/web/20170707201234/https://techcrunch.com/2011/10/24/motorola-offers-unlocked-bootloader-tool-for-droid-razr-verizon-removes-it/ |archivedate=2017-07-07 }}</ref>、[[三星集團|三星]]<ref>{{cite web |url=http://www.inspiredgeek.com/2011/06/08/cyanogenmod-7-for-samsung-galaxy-s2-ii-development-already-started/ |title=CyanogenMod 7 for Samsung Galaxy S2 (II): Development Already Started! |date=2011-06-08 |work=Inspired Geek |deadurl=yes |archiveurl=https://web.archive.org/web/20120822051352/http://www.inspiredgeek.com/2011/06/08/cyanogenmod-7-for-samsung-galaxy-s2-ii-development-already-started/ |archivedate=2012-08-22 |access-date=2019-04-29 }}</ref><ref>{{cite web |author=Menno |title=CyanogenMod coming to the Galaxy S 2, thanks to Samsung |url=http://www.androidcentral.com/cyanogenmod-coming-galaxy-sii-thanks-samsung |website=Android Central |publisher=Mobile Nations |date=2011-06-06 |accessdate=2017-03-11 |deadurl=no |archiveurl=https://web.archive.org/web/20170408230750/http://www.androidcentral.com/cyanogenmod-coming-galaxy-sii-thanks-samsung |archivedate=2017-04-08 }}</ref>及[[索尼流動通訊|索尼]]<ref>{{cite web |last=Forian |first=Daniel |url=http://developer.sonyericsson.com/wp/2011/09/28/sony-ericsson-supports-independent-developers/ |title=Sony Ericsson supports independent developers – Developer World |publisher=Developer.sonyericsson.com |date= |accessdate=2012-09-15 |deadurl=yes |archiveurl=https://web.archive.org/web/20120212160322/http://developer.sonyericsson.com/wp/2011/09/28/sony-ericsson-supports-independent-developers/ |archivedate=2012-02-12 }}</ref>,他們提供支持和鼓勵發展。因此,隨著時間的推移,由於越來越多的裝置隨附著已解鎖或可解鎖的啟動程式,繞過[[硬件限制]]的規避而安裝非官方韌體的需要降低了,這類似於[[Google Nexus|Nexus]]系列手機,雖然他們通常要求用戶放棄為裝置進行保修<ref name="htcdev" />。然而,儘管製造商已經接受,但美國的一些運營商仍然要求手機被鎖定,此讓開發人員和客戶感到沮喪<ref>{{cite web |first=Janus |last=Kopfstein |title=Access Denied: why Android’s broken promise of unlocked bootloaders needs to be fixed |url=https://www.theverge.com/2012/11/20/3666668/access-denied-android-unlocked-bootloaders |website=[[The Verge]] |publisher=[[Vox Media]] |date=2012-11-20 |accessdate=2017-03-11 |deadurl=no |archiveurl=https://web.archive.org/web/20170210040817/http://www.theverge.com/2012/11/20/3666668/access-denied-android-unlocked-bootloaders |archivedate=2017-02-10 }}</ref>。
摘要:
请注意,所有对Local Chinese Wikipedia的贡献均可能会被其他贡献者编辑、修改或删除。如果您不希望您的文字作品被随意编辑,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源(详情请见
Project:著作权
)。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
页面
讨论
大陆简体
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
编辑
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息