中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

做拼貨商城網(wǎng)站國際婚戀網(wǎng)站排名

做拼貨商城網(wǎng)站,國際婚戀網(wǎng)站排名,網(wǎng)站建設(shè)需要的模塊,網(wǎng)站開發(fā)計(jì)入什么會(huì)計(jì)科目前言 部分內(nèi)容參考《Android進(jìn)階解密》 – 劉望舒 1. Android版本 官方鏈接:https://developer.android.com/studio/releases/platforms 里面有各個(gè)版本的官方文檔,有些新功能的用法在這里面。 現(xiàn)在做安卓11,有時(shí)候需要向下兼容 2. AOSP …

前言

部分內(nèi)容參考《Android進(jìn)階解密》 – 劉望舒

1. Android版本

官方鏈接:https://developer.android.com/studio/releases/platforms
里面有各個(gè)版本的官方文檔,有些新功能的用法在這里面。
現(xiàn)在做安卓11,有時(shí)候需要向下兼容

2. AOSP 和 ATV

Android系統(tǒng)根據(jù)是否需要認(rèn)證分為AOSP系統(tǒng)和ATV系統(tǒng)。

  • AOSP: Android開源系統(tǒng),全稱為Android Open Source Project
  • ATV: 產(chǎn)品依照 Android TV 制式標(biāo)準(zhǔn)提供統(tǒng)一的操作體驗(yàn),并且通過Google 認(rèn)證。

2.1 AOSP

定義:AOSP是指Android開源項(xiàng)目,它是由Google發(fā)起并維護(hù)的一個(gè)開源軟件項(xiàng)目,旨在提供一個(gè)開放、自由、可定制的移動(dòng)操作系統(tǒng)。
特點(diǎn):AOSP是Android的原始代碼庫,包括Android操作系統(tǒng)的核心代碼、應(yīng)用程序框架、系統(tǒng)應(yīng)用和工具等。它是開放源代碼的,任何人都可以訪問、查看和下載AOSP的源代碼,并根據(jù)需要進(jìn)行修改和定制。
用途:AOSP作為Android操作系統(tǒng)的基礎(chǔ),被廣泛用于移動(dòng)設(shè)備、平板電腦、智能手表、智能電視、汽車娛樂系統(tǒng)等各種設(shè)備。開發(fā)者可以基于AOSP構(gòu)建自己的Android發(fā)行版,或者為特定設(shè)備進(jìn)行定制開發(fā)。
更多解釋:

  1. AOSP是安卓開源項(xiàng)目,是一個(gè)由Google收購并開源的手機(jī)操作系統(tǒng)項(xiàng)目(主要協(xié)議是Apache 2.0),基于Linux內(nèi)核核心代碼,截至目前大量安卓陣型的手機(jī)廠商以及上下游供應(yīng)商參與了安卓項(xiàng)目的開發(fā),主要包括華為、索尼、三星、Intel、高通等,其中華為是安卓項(xiàng)目代碼貢獻(xiàn)全球前三名的廠商。
  2. AOSP是手機(jī)操作系統(tǒng)的核心代碼,但不是全部。手機(jī)操作系統(tǒng)需要在AOSP基礎(chǔ)上,增加各種硬件驅(qū)動(dòng)、軟件框架層、以及各類系統(tǒng)應(yīng)用,才能成為我們通常所說的手機(jī)操作系統(tǒng)。所以,AOSP通常是指安卓手機(jī)操作系統(tǒng)的“內(nèi)核”。在安卓手機(jī)的系統(tǒng)描述中,通常有一個(gè)“內(nèi)核版本”,即為AOSP。
  3. 安卓系統(tǒng)通常即為AOSP,安卓手機(jī)描述的Powered by Android,這里的Android即是AOSP。由谷歌定期牽頭發(fā)布的安卓大版本也是指AOSP。AOSP是免費(fèi)提供給所有手機(jī)廠商使用的。
  4. 目前安卓陣營各廠商(除了華為)并不只是使用了免費(fèi)的AOSP,還使用了谷 歌發(fā)布的收費(fèi)的GMS(谷歌服務(wù)框架)以及谷歌的各類APP(等等)。雖然國內(nèi)手機(jī)可以不使用谷歌app,但是由于早期GMS屬于AOSP,因此大量的安卓App依賴了GMS的許多功能接口,隨著后期谷歌把大批GMS代碼從AOSP項(xiàng)目移出轉(zhuǎn)為收費(fèi)GMS(這段歷史也是促使華為啟動(dòng)自研鴻蒙的重要原因之一),所以谷歌幾乎控制了整個(gè)安卓生態(tài)。這也是為什么安卓標(biāo)榜是免費(fèi)開源項(xiàng)目而所有廠商都離不開谷歌的核心原因。
  5. 所以,一般意義上的“安卓”是指:AOSP + GMS,這兩者構(gòu)成了安卓開發(fā)者使用的基礎(chǔ)SDK,也是幾乎所有安卓App的基礎(chǔ)。其中,AOSP開源免費(fèi),GMS商用收費(fèi)。
  6. 鴻蒙(HarmonyOS)是由華為開發(fā)的開源手機(jī)操作系統(tǒng)項(xiàng)目,對(duì)標(biāo)的是AOSP,同樣基于Linux內(nèi)核核心庫,并使用了AOSP部分開源代碼用于安卓app兼容(符合Apache開源協(xié)議)。由于鴻蒙并沒有直接使用AOSP軟件,因此這是一個(gè)獨(dú)立開源項(xiàng)目,最直接而言不需要Powered by Android。類比Linux也使用了Minix的部分代碼,AOSP也使用了Linux部分代碼,但他們都是一個(gè)新的獨(dú)立項(xiàng)目一個(gè)道理。
  7. 華為手機(jī)操作系統(tǒng)包括HarmonyOS + HMS,后者是對(duì)標(biāo)谷歌GMS的商業(yè)產(chǎn)品,用于支持開發(fā)者為華為手機(jī)開發(fā)App。由于HMS是后來者,因此HMS許多接口設(shè)計(jì)也是盡量兼容GMS,跟鴻蒙兼容AOSP一個(gè)道理。如果鴻蒙只是Fork AOSP,拉個(gè)分支的話,在開源圈子里就沒有前途了。鴻蒙目前主打的是整體架構(gòu)上與AOSP不同(是微內(nèi)核架構(gòu),AOSP是宏內(nèi)核),以及集成了分布式計(jì)算框架(用于手機(jī)與其他設(shè)備的互聯(lián),典型如手表、車、家電、耳機(jī)等),這也是鴻蒙1+8+N大生態(tài)的技術(shù)基礎(chǔ)。而谷歌也在研發(fā)一個(gè)類似的終端操作系統(tǒng)(內(nèi)部被稱為安卓第二)Fushia。
  8. 由于手機(jī)應(yīng)用生態(tài)很大程度依賴GMS,為了海外市場,所以小米、OPPO、Vivo、一加等廠不大可能全部使用HMS,很大一部分可能,中低端使用鴻蒙系統(tǒng),高端繼續(xù)使用安卓,差異化競爭。當(dāng)然,如果鴻蒙用戶反饋很好的話,不排除高端機(jī)也使用鴻蒙的可能性。畢竟鴻蒙的目標(biāo)主要是在“萬物互聯(lián)”的智慧生活。所以,家電、車、可穿戴設(shè)備、運(yùn)動(dòng)健康等方面才是鴻蒙系統(tǒng)的目標(biāo)。鴻蒙不只是個(gè)手機(jī)操作系統(tǒng),而是個(gè)“大終端”操作系統(tǒng)。是未來的大趨勢。

2.2 ATV

定義:Android TV是一種Android操作系統(tǒng)的變種,專門設(shè)計(jì)用于智能電視和媒體播放器。它是AOSP的一個(gè)派生版本,經(jīng)過了針對(duì)大屏幕電視的定制和優(yōu)化。
特點(diǎn):Android TV保留了Android操作系統(tǒng)的核心特性,如Android應(yīng)用程序生態(tài)系統(tǒng)、多媒體播放功能、網(wǎng)絡(luò)連接和互聯(lián)網(wǎng)訪問等。但它還具有專門針對(duì)電視觀看體驗(yàn)的用戶界面和交互方式,包括遙控器支持、大屏幕適配、焦點(diǎn)導(dǎo)航等。
用途:Android TV被廣泛應(yīng)用于智能電視、電視機(jī)頂盒、媒體播放器和游戲機(jī)等娛樂設(shè)備。用戶可以通過Android TV訪問各種應(yīng)用程序,觀看視頻內(nèi)容、播放游戲、瀏覽互聯(lián)網(wǎng)等,從而將智能功能引入電視屏幕。

3. Android機(jī)頂盒硬件原理框圖及Android機(jī)頂盒不支持的功能

  • 主控,EMMC,DDR,GPIO,USB,HDMI,Tuner,網(wǎng)口,WiFi,藍(lán)牙,紅外等
  • 不支持的功能:觸摸屏,電話,相機(jī),NFC,GPS等移動(dòng)功能

第一章 Android系統(tǒng)架構(gòu)

1.1 Android平臺(tái)架構(gòu)

官方文檔:https://developer.android.com/guide/platform
Android系統(tǒng)架構(gòu)分為五層:從上到下依次是應(yīng)用層、應(yīng)用架構(gòu)層、系統(tǒng)運(yùn)行庫層、硬件抽象層和Linux內(nèi)核層,如圖:
在這里插入圖片描述

1.1.1 應(yīng)用層(System Apps)

系統(tǒng)內(nèi)置的應(yīng)用程序以及非系統(tǒng)級(jí)的應(yīng)用程序都屬于應(yīng)用層,負(fù)責(zé)與用戶進(jìn)行直接交互,通常都是用Java進(jìn)行開發(fā)的。

1.1.2 應(yīng)用框架層(Java API Framework)

API (Application Programming Interface)
應(yīng)用框架層為開發(fā)人員提供了開發(fā)應(yīng)用程序所需要的API,我們平常開發(fā)應(yīng)用程序都是調(diào)用這一層所提供的API,當(dāng)然也包括系統(tǒng)應(yīng)用。這一層是由Java代碼編寫的,可以稱為Java Framework。下面來看這一層所提供的主要組件:
在這里插入圖片描述

1.1.3 系統(tǒng)運(yùn)行庫層

從Android系統(tǒng)框架圖上可以看出,系統(tǒng)運(yùn)行庫層分為兩部分,分別是 C/C++ 程序庫和 Android 運(yùn)行時(shí)庫,下面分別進(jìn)行介紹:

(1)原生C/C++程序庫
在這里插入圖片描述
(2)Android運(yùn)行時(shí)庫
運(yùn)行時(shí)庫又分為核心庫和ART(5.0系統(tǒng)之后,Dalvik虛擬機(jī)被ART取代)。核心庫提供了Java語言核心庫的大多數(shù)功能,這樣開發(fā)者可以使用Java語言來編寫Android應(yīng)用。相較于JVM,Dalvik虛擬機(jī)是專門為移動(dòng)設(shè)備定制的,允許在有限的內(nèi)存中同時(shí)運(yùn)行多個(gè)虛擬機(jī)的實(shí)例,并且每一個(gè)Dalvik 應(yīng)用作為一個(gè)獨(dú)立的Linux 進(jìn)程執(zhí)行。獨(dú)立的進(jìn)程可以防止在虛擬機(jī)崩潰的時(shí)候所有程序都被關(guān)閉。而替代Dalvik虛擬機(jī)的ART 的機(jī)制與Dalvik 不同。在Dalvik下,應(yīng)用每次運(yùn)行的時(shí)候,字節(jié)碼都需要通過即時(shí)編譯器轉(zhuǎn)換為機(jī)器碼,這會(huì)拖慢應(yīng)用的運(yùn)行效率,而在ART 環(huán)境中,應(yīng)用在第一次安裝的時(shí)候,字節(jié)碼就會(huì)預(yù)先編譯成機(jī)器碼,使其成為真正的本地應(yīng)用。

1.1.4 硬件抽象層(HAL / HIDL)

硬件抽象層是位于操作系統(tǒng)內(nèi)核與硬件電路之間的接口層,其目的在于將硬件抽象化,為了保護(hù)硬件廠商的知識(shí)產(chǎn)權(quán),它隱藏了特定平臺(tái)的硬件接口細(xì)節(jié),為操作系統(tǒng)提供虛擬硬件平臺(tái),使其具有硬件無關(guān)性,可在多種平臺(tái)上進(jìn)行移植。 從軟硬件測試的角度來看,軟硬件的測試工作都可分別基于硬件抽象層來完成,使得軟硬件測試工作的并行進(jìn)行成為可能。通俗來講,就是將控制硬件的動(dòng)作放在硬件抽象層中。

1.1.5 Linux內(nèi)核層

Android 的核心系統(tǒng)服務(wù)基于Linux 內(nèi)核,在此基礎(chǔ)上添加了部分Android專用的驅(qū)動(dòng)。系統(tǒng)的安全性、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)協(xié)議棧和驅(qū)動(dòng)模型等都依賴于該內(nèi)核。
Android系統(tǒng)的五層架構(gòu)就講到這,了解以上的知識(shí)對(duì)以后分析系統(tǒng)源碼有很大的幫助。

1.2 Android系統(tǒng)源碼目錄

學(xué)習(xí)Android系統(tǒng)源碼,需要掌握系統(tǒng)源碼目錄。可以訪問下面的連接來閱讀系統(tǒng)源碼
https://android.googlesource.com/
至于Android系統(tǒng)源碼目錄可以參考:
Android系統(tǒng)五層架構(gòu)

1.2.1 整體結(jié)構(gòu)

各個(gè)版本的源碼目錄基本是類似的,如果是編譯后的源碼目錄,會(huì)多一個(gè)out文件夾,用來存儲(chǔ)編譯產(chǎn)生的文件。Android 11 的系統(tǒng)目錄如下:

暫時(shí)無法在飛書文檔外展示此內(nèi)容

可以看出,系統(tǒng)源碼分類清晰,并且內(nèi)容龐大且復(fù)雜。接下來分析packages中的內(nèi)容,也就是應(yīng)用層部分

1.2.2 應(yīng)用層部分

應(yīng)用層位于整個(gè)Android系統(tǒng)的最上層,開發(fā)者開發(fā)的應(yīng)用程序以及系統(tǒng)內(nèi)置的應(yīng)用程序都是在應(yīng)用層。源碼根目錄中的packages目錄對(duì)應(yīng)著系統(tǒng)應(yīng)用層。它的目錄結(jié)構(gòu)如表
暫時(shí)無法在飛書文檔外展示此內(nèi)容
從目錄結(jié)構(gòu)可以發(fā)現(xiàn),packages目錄存放著系統(tǒng)核心應(yīng)用程序、第三方的應(yīng)用程序和輸入法等等,這些應(yīng)用都是運(yùn)行在系統(tǒng)應(yīng)用層的,因此packages目錄對(duì)應(yīng)著系統(tǒng)的應(yīng)用層。
在這里插入圖片描述

1.2.3 應(yīng)用框架層部分

應(yīng)用框架層是系統(tǒng)的核心部分,一方面向上提供接口給應(yīng)用層調(diào)用,另一方面向下與C/C++程序庫以及硬件抽象層等進(jìn)行銜接。 應(yīng)用框架層的主要實(shí)現(xiàn)代碼在/frameworks/base和/frameworks/av目錄下,其中/frameworks/base目錄結(jié)構(gòu)如表
在這里插入圖片描述

1.2.4 C/C++程序庫部分

系統(tǒng)運(yùn)行庫層(Native)中的 C/C++程序庫的類型繁多,功能強(qiáng)大,C/C++程序庫并不完全在一個(gè)目錄中,這里給出幾個(gè)常用且比較重要的C/C++程序庫所在的目錄位置。
在這里插入圖片描述

講完 C/C++程序庫部分,剩下的部分我們已經(jīng)給出:Android運(yùn)行時(shí)庫的代碼放在art/目錄中。硬件抽象層的代碼在hardware/目錄中,這一部分是手機(jī)廠商改動(dòng)最大的一部分,根據(jù)手機(jī)終端所采用的硬件平臺(tái)會(huì)有不同的實(shí)現(xiàn)。

1.3 源碼閱讀

這里有Android10 的源碼:https://www.androidos.net.cn/android/10.0.0_r6/xref
Android 7.1 到 Android 13 的系統(tǒng)源碼:http://aospxref.com
下載源碼:https://source.android.google.cn/docs/setup/download?hl=zh-cn
源碼提交:https://android.googlesource.com/platform/manifest
https://blog.csdn.net/cjohn1994/article/details/127467165

http://www.risenshineclean.com/news/12175.html

相關(guān)文章:

  • 企業(yè)做網(wǎng)站需要哪些材料網(wǎng)絡(luò)優(yōu)化培訓(xùn)騙局
  • ac86u做網(wǎng)站服務(wù)器百度競價(jià)推廣方案范文
  • javascript菜鳥教程簡單網(wǎng)站建設(shè)優(yōu)化推廣
  • 公司網(wǎng)站用什么開發(fā)云服務(wù)器免費(fèi)
  • 推廣做網(wǎng)站怎么樣電子商務(wù)網(wǎng)站
  • wordpress的語言優(yōu)化營商環(huán)境條例
  • 北海網(wǎng)站建設(shè)比百度強(qiáng)大的搜索引擎
  • 西寧網(wǎng)站維護(hù)推廣引流網(wǎng)站
  • 網(wǎng)站引導(dǎo)視頻怎么做友情鏈接交換條件
  • 建材網(wǎng)站石家莊網(wǎng)絡(luò)推廣平臺(tái)
  • 如何讓百度不收錄網(wǎng)站b2b免費(fèi)發(fā)布平臺(tái)
  • 汕頭食品駿域網(wǎng)站建設(shè)廣州seo
  • 用asp.net做的 購物網(wǎng)站視頻百度快速排名平臺(tái)
  • seo服務(wù)器多ip國家優(yōu)化防控措施
  • 網(wǎng)站建設(shè)實(shí)踐報(bào)告怎么優(yōu)化網(wǎng)站關(guān)鍵詞的方法
  • 網(wǎng)站建設(shè)與網(wǎng)頁設(shè)計(jì)案例教程pdf下載怎么讓百度快速收錄網(wǎng)站
  • 做直通車任務(wù)的網(wǎng)站做個(gè)網(wǎng)頁需要多少錢?
  • 網(wǎng)站開發(fā)語言為電商平臺(tái)網(wǎng)站
  • 韓國ps教程網(wǎng)站朋友圈廣告推廣代理
  • 怎么把自己做的網(wǎng)站百度競價(jià)推廣開戶內(nèi)容
  • 網(wǎng)站開發(fā)溝通百度競價(jià)是什么工作
  • 一般可以在哪些網(wǎng)站做推廣b站推廣2023
  • 網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)師專項(xiàng)提升seo網(wǎng)站優(yōu)化師
  • 沈陽網(wǎng)站制作定制策劃2024年2月疫情又開始了嗎
  • wordpress注冊(cè)的用戶不是vipseo怎么推廣
  • 中山建站服務(wù)seo關(guān)鍵詞找29火星軟件
  • 開源網(wǎng)站開發(fā)文檔下載象山seo外包服務(wù)優(yōu)化
  • 湖南省建設(shè)網(wǎng)站西安百度推廣代理商
  • 如何做網(wǎng)站 優(yōu)幫云班級(jí)優(yōu)化大師官網(wǎng)下載
  • 天元建設(shè)集團(tuán)有限公司天元天筑網(wǎng)百度seo排名培訓(xùn)