国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

我的NPI項(xiàng)目之設(shè)備系統(tǒng)啟動(dòng)(八) -- Android14的GKI項(xiàng)目

這篇具有很好參考價(jià)值的文章主要介紹了我的NPI項(xiàng)目之設(shè)備系統(tǒng)啟動(dòng)(八) -- Android14的GKI項(xiàng)目。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

GKI是什么? Google為什么要推行GKI?

GKI全稱General Kernel Image。GKI在framework和kernel之間提供了標(biāo)準(zhǔn)接口,使得android OS能夠輕松適配/維護(hù)/兼容不同的設(shè)備和linux kernel。

Google引入GKI的目的是將Framework和Kernel進(jìn)一步的解耦。因?yàn)?,android一直高度依賴linux kernel, linux kernel一更新,android系統(tǒng)就要跟著適配更新。google發(fā)步的安全patch,也會(huì)因?yàn)閗ernel的版本而掣肘。

通用內(nèi)核映像 (GKI) 項(xiàng)目通過(guò)統(tǒng)一核心內(nèi)核并將 SoC 和板級(jí)支持從核心內(nèi)核移至可加載模塊中,解決了內(nèi)核碎片化問(wèn)題。GKI 內(nèi)核為內(nèi)核模塊提供了穩(wěn)定的內(nèi)核模塊接口 (KMI),因此模塊和內(nèi)核可以獨(dú)立進(jìn)行更新。

內(nèi)核碎片化帶來(lái)的問(wèn)題:(市面上的內(nèi)核版本太多,嚴(yán)重阻礙了Android的迭代更新),具體描述如下:

1. 安全更新需要耗費(fèi)大量人力
Android 安全公告 (ASB) 中引用的安全補(bǔ)丁程序必須向后移植(舊的android 系統(tǒng))到每個(gè)設(shè)備內(nèi)核中。但是,由于存在內(nèi)核碎片化問(wèn)題,向正常使用的 Android 設(shè)備傳播安全修復(fù)的代價(jià)非常之高。

2. 很難合并長(zhǎng)期支持的更新
長(zhǎng)期支持 (LTS) 版本包含安全修復(fù)和其他重大問(wèn)題修復(fù)。事實(shí)證明,使用最新的 LTS 版本是提供安全修復(fù)的最有效方式。我們發(fā)現(xiàn),ASB 報(bào)告的內(nèi)核安全問(wèn)題中有 90% 都已在保持最新狀態(tài)的 Pixel 設(shè)備上得到修復(fù)。(簡(jiǎn)單一句話,打補(bǔ)丁不如升級(jí)OS

不過(guò),由于設(shè)備內(nèi)核中所有的自定義修改,很難僅將 LTS 修復(fù)合并到設(shè)備內(nèi)核中。

3. 妨礙 Android 平臺(tái)進(jìn)行版本升級(jí)
由于碎片化問(wèn)題,很難向正常使用的設(shè)備添加需要更改內(nèi)核的 Android 新功能。Android 框架代碼必須假設(shè)支持的內(nèi)核版本多達(dá) 5 個(gè),并且沒(méi)有針對(duì)新的平臺(tái)版本進(jìn)行任何內(nèi)核更改(Android 10 支持內(nèi)核版本 3.18、4.4、4.9、4.14 和 4.19;在某些情況下,這些版本自 2017 年 Android 8 發(fā)布以來(lái)還未添加新功能)。

4. 很難將內(nèi)核更改貢獻(xiàn)回上游 Linux
對(duì)內(nèi)核進(jìn)行完所有更改后,大多數(shù)旗艦設(shè)備附帶的內(nèi)核版本已經(jīng)至少存在 18 個(gè)月了。例如,kernel.org 于 2017 年 11 月發(fā)布了 4.14 版內(nèi)核,而首批使用 4.14 版內(nèi)核的 Android 手機(jī)于 2019 年春季才發(fā)布(新特性上推linux main branch就太晚了)。

上游內(nèi)核發(fā)布與產(chǎn)品發(fā)布之間的這種長(zhǎng)時(shí)間延遲導(dǎo)致 Android 社區(qū)很難將所需的功能和驅(qū)動(dòng)程序饋送到上游內(nèi)核中,因此解決碎片化問(wèn)題并非易事。

于是就有了GKI項(xiàng)目!?。。?!大家還記得從Android8引入的Trible 機(jī)制嗎?也是Android將framwork和linux kernel解耦的一個(gè)項(xiàng)目。

總而言之,無(wú)論是Android還是Apple OS 都是希望能夠?qū)⒆约旱淖钚翺S推送到盡可能多的設(shè)備上,從而搶占市場(chǎng)分額!

核心特性和目標(biāo)如下

1. 基于 ACK 來(lái)源構(gòu)建而成。(ACK , Android/Aosp common kernel,Android最上游代碼)
2. 是每個(gè)架構(gòu)和每個(gè) LTS 版本的單內(nèi)核二進(jìn)制文件以及關(guān)聯(lián)的可加載模塊(目前只有適用于 android11-5.4 和 android12-5.4 的 arm64)。
3.已經(jīng)過(guò)關(guān)聯(lián) ACK 支持的所有 Android 平臺(tái)版本的測(cè)試。在 GKI 內(nèi)核版本的生命周期內(nèi)不會(huì)發(fā)生功能棄用。
4. 為給定 LTS 中的驅(qū)動(dòng)程序提供了穩(wěn)定版 KMI。
5. 不包含 SoC 專用代碼或板卡專用代碼。(這個(gè)很好理解,不包含e.g specifc Qualcomm and Board code)。

Key features and goals of Android GKI include:

Stability(穩(wěn)定性): The GKI aims to maintain a stable ABI(Application Binary Interface//應(yīng)用程序二進(jìn)制接口), ensuring that the Android framework can work with different kernel versions without requiring modifications.

Compatibility(兼容性): GKI enables Android to run on a wide range of devices with different kernel configurations, reducing fragmentation and enabling faster updates.

Portability(可移植性): By abstracting Android from the underlying kernel, GKI simplifies the process of porting Android to new devices and adapting it to different kernel versions.

Security(安全性): GKI facilitates the timely delivery of security patches(通常是Google的安全性補(bǔ)?。?and updates by decoupling the Android framework from the kernel, allowing for more efficient patching processes.


GKI可以更改嗎?

通常在開發(fā)中我們不修改,而且其GKI鏡像中的內(nèi)容配置文件,我們也不可以修改,例如:

../kernel_platform/msm-kernel/arch/arm64/configs/gki_defconfig

但是Android的官網(wǎng)也提供了修改的方法,如下說(shuō)明,分別有三個(gè)方面(再次提醒,通常作為ODM是不改的,(Android(ACK)?/ Qualcomm(供應(yīng)商內(nèi)核)?/ ODM(設(shè)備內(nèi)核));

1.?將新功能配置為 GKI 模塊。?

2.?將內(nèi)置內(nèi)核功能配置為 GKI 模塊。

3.?將受保護(hù)的 GKI 模塊轉(zhuǎn)換為不受保護(hù)的模塊。?

以上三個(gè)類型的修改,后面需要的時(shí)候可以進(jìn)一步細(xì)看。有一個(gè)提醒就是,無(wú)論哪個(gè)修改,都必需需要提交更改以供審核。GKI 模塊是 Android 專用內(nèi)核功能,因此無(wú)需在上游提交模塊轉(zhuǎn)換補(bǔ)丁。不過(guò),您必須按照其他準(zhǔn)則提交?Android 通用內(nèi)核 (ACK) 補(bǔ)丁。

什么是ACK,簡(jiǎn)稱AOSP Common Kernel,應(yīng)該是和LKML幾乎一樣的分支內(nèi)容。官網(wǎng)的解釋是

AOSP 通用內(nèi)核(也稱為 Android 通用內(nèi)核或ACK?https://android.googlesource.com/kernel/common/?)是kernel.org內(nèi)核的下游,包含 Android 社??區(qū)感興趣的尚未合并到主線或長(zhǎng)期支持 (LTS) 內(nèi)核中的補(bǔ)丁。


官網(wǎng)對(duì)android-mainlin做簡(jiǎn)單介紹

android-mainline是 Android 功能的主要開發(fā)分支。每當(dāng) Linus Torvalds 發(fā)布版本或候選版本時(shí),Linux 主線就會(huì)合并到android-mainline中。 2019 年之前,Android 通用內(nèi)核是通過(guò)克隆最近聲明的 LTS(Long Time Support) 內(nèi)核并添加 Android 特定補(bǔ)丁來(lái)構(gòu)建的。這個(gè)過(guò)程在 2019 年發(fā)生了變化,從android-mainline分支出新的 Android 通用內(nèi)核。這種新模型通過(guò)逐步實(shí)現(xiàn)相同的結(jié)果,避免了轉(zhuǎn)發(fā)端口和測(cè)試 Android 補(bǔ)丁的大量工作。?android-mainline經(jīng)過(guò)重要的持續(xù)測(cè)試,該模型從發(fā)布之日起就確保了高質(zhì)量的內(nèi)核。

當(dāng)上游聲明一個(gè)新的 LTS 時(shí),相應(yīng)的公共內(nèi)核將從android-mainline分支出來(lái)。這允許合作伙伴在聲明 LTS 版本之前通過(guò)從android-mainline合并來(lái)開始項(xiàng)目。創(chuàng)建新的通用內(nèi)核分支后,合作伙伴可以無(wú)縫地將合并源更改為新分支。

其他常見的內(nèi)核分支從其關(guān)聯(lián)的LTS 內(nèi)核接收定期合并。這些合并通常在 LTS 版本發(fā)布后立即完成。例如,當(dāng) Linux 4.19.64 發(fā)布時(shí),它被合并到 4.19 通用內(nèi)核中(例如android-4.19-q?)。強(qiáng)烈鼓勵(lì)合作伙伴(Qualcomm ? MTK?) 定期將通用內(nèi)核(GKI)合并到其產(chǎn)品內(nèi)核中,以及時(shí)了解 LTS 和 Android 特定錯(cuò)誤修復(fù)的最新情況(Qualcomm 會(huì)不定期的去合并Android的通用內(nèi)核補(bǔ)丁)。


所以,想給ACK 提交補(bǔ)丁一定是要經(jīng)過(guò)嚴(yán)格省查的。所以,作為ODM開發(fā)中,通常不會(huì)這么做。對(duì)處理器/個(gè)別電子器件精通的內(nèi)核維護(hù)者通常能夠給linux內(nèi)核提交patch,那也絕對(duì)是行業(yè)大牛;通常ODM開發(fā)內(nèi)核中的驅(qū)動(dòng),我們通常需要定義在自己的config文件中,并且是一=m的形式進(jìn)行編譯。開機(jī)過(guò)程中,需要進(jìn)行動(dòng)態(tài)加載的。這個(gè)是目前GKI2.0的基本要求。


官網(wǎng)對(duì)GKI KMI內(nèi)核分支介紹

GKI 內(nèi)核具有穩(wěn)定的內(nèi)核模塊接口。 KMI (內(nèi)核模塊接口)由內(nèi)核版本Android 平臺(tái)版本唯一標(biāo)識(shí),因此分支被命名為<androidRelease>-<kernel version>?。例如,Android 11 的 5.4 GKI 內(nèi)核名為android11-5.4.對(duì)于 Android 12,還有兩個(gè)額外的 GKI 內(nèi)核:?android12-5.4android12-5.10?。kernel_platform/msm-kernel/Makefile. 我的高通平臺(tái)是從Android 12 launch的。

高通gki,embedded system,gki2.0,android

也就是說(shuō),Android發(fā)布時(shí)候會(huì)綁定對(duì)應(yīng)的linux kernel版本,目的是提供一個(gè)固定KMI。后續(xù)開發(fā)者可以根據(jù)KMI中的接口,進(jìn)行對(duì)應(yīng)的內(nèi)核開發(fā)。

高通gki,embedded system,gki2.0,android

從 Android 12 開始,功能內(nèi)核將少于啟動(dòng)內(nèi)核,以限制功能內(nèi)核的數(shù)量必須支持的穩(wěn)定 KMI。

簡(jiǎn)單看下KMI的時(shí)間線:

高通gki,embedded system,gki2.0,android

每個(gè) ACK?? KMI 分支都會(huì)循環(huán)經(jīng)歷三個(gè)階段: 例如android12-5.10

開發(fā)階段:

創(chuàng)建后,ACK KMI (我理解這是一個(gè)kernel分支,GKI則是對(duì)應(yīng)的內(nèi)核鏡像)分支進(jìn)入開發(fā)階段(圖 2 中的dev?),并開放為下一個(gè) Android 平臺(tái)版本提供功能貢獻(xiàn)。當(dāng) 5.10 被聲明為新的上游 LTS 內(nèi)核時(shí),創(chuàng)建了android12-5.10?。內(nèi)核版本的第二個(gè) ACK?? KMI 分支可能會(huì)提前創(chuàng)建,以允許后續(xù)版本的開發(fā)。android13-5.10是在android12-5.10過(guò)渡出開發(fā)階段時(shí)創(chuàng)建的。

穩(wěn)定階段:

當(dāng) ACK KMI 分支聲明功能完成時(shí),它會(huì)進(jìn)入穩(wěn)定階段,在圖 2 中標(biāo)記為穩(wěn)定階段。合作伙伴功能和錯(cuò)誤修復(fù)仍然被接受(合作伙伴:e.g Qualcomm),但啟用了 KMI 跟蹤以檢測(cè)影響接口的任何更改。在此階段,會(huì)接受破壞 KMI 的更改,但必須根據(jù)需要更新 KMI 定義。有關(guān) KMI 監(jiān)控的詳細(xì)信息,請(qǐng)參閱GKI 概述。

冷凍階段:

在將新平臺(tái)版本推送到 AOSP 之前,ACK KMI 分支會(huì)被凍結(jié),并在分支的生命周期內(nèi)保持凍結(jié)狀態(tài)。這意味著,除非發(fā)現(xiàn)嚴(yán)重的安全問(wèn)題,且無(wú)法在不影響穩(wěn)定 KMI 的情況下緩解,否則不會(huì)接受任何破壞 KMI 的更改。為了避免 KMI 損壞,如果 Android 設(shè)備不需要修復(fù),則可能會(huì)修改或刪除從 LTS 合并的一些補(bǔ)丁。


GKI1.0的情況,這里就不多解釋,有個(gè)核心的要求是:GKI 1.0 不要求供應(yīng)商模塊可卸載,可以=y。

我們看看GKI2.0的情況下

GKI 2.0 - GKI 產(chǎn)品
搭載 Android S (2021) 平臺(tái)版本且使用內(nèi)核版本 v5.x(5.x 是 2020 年年底被選為 LTS 的內(nèi)核版本)或更高版本的設(shè)備必須附帶 GKI 內(nèi)核(將提供已簽名的啟動(dòng)映像,并通過(guò) LTS 和重大問(wèn)題修復(fù)定期對(duì)其進(jìn)行更新。由于 KMI 將保持二進(jìn)制穩(wěn)定性,因此無(wú)需對(duì)供應(yīng)商映像進(jìn)行任何更改,即可安裝這些啟動(dòng)映像。

GKI 2.0 的目標(biāo)
1. 不為 GKI 引入明顯的性能或能效降低問(wèn)題。
2. 使 OEM 無(wú)需供應(yīng)商參與即可提供內(nèi)核安全修復(fù)和問(wèn)題修復(fù) (LTS)。(是說(shuō)OEM直接從Google 獲取補(bǔ)丁?而不用從e.g Qualcomm獲?。?/strong>)
3. 降低更新設(shè)備主要內(nèi)核版本(例如,將 v5.x 更新為 v5.y)所需的費(fèi)用。(通常我們的升級(jí)直接從Qualcomm拉代碼)
4. 通過(guò)按照清晰的升級(jí)過(guò)程更新內(nèi)核版本,只為每個(gè)架構(gòu)(例如Qualcomm6490 Armv7 架構(gòu))維護(hù)一個(gè) GKI 內(nèi)核二進(jìn)制文件。

開發(fā)有關(guān):
GKI2.0?下的內(nèi)核開發(fā),首先要注意,需要遵循GKI2.0中要求的ABI接口檢查,目的是,你不能更改KMI中的接口。這個(gè)部分,可以在編譯中進(jìn)行檢查。

詳細(xì)的說(shuō)明如下ABI檢查如下:

ABI 工具使用 KMI 符號(hào)列表來(lái)限制必須監(jiān)控哪些接口以實(shí)現(xiàn)穩(wěn)定性。主符號(hào)列表包含 GKI 內(nèi)核模塊所需的符號(hào)。供應(yīng)商應(yīng)提交并更新其他符號(hào)列表,以確保其依賴的接口保持 ABI 兼容性。

符號(hào)列表包含報(bào)告的特定供應(yīng)商或設(shè)備所需的符號(hào)。工具使用的完整列表是所有 KMI 符號(hào)列表文件的并集。ABI 工具會(huì)確定每個(gè)符號(hào)的詳細(xì)信息,包括函數(shù)簽名和嵌套數(shù)據(jù)結(jié)構(gòu)。

當(dāng) KMI 被凍結(jié)時(shí),不允許對(duì)現(xiàn)有 KMI 接口進(jìn)行任何更改;它們是穩(wěn)定的。

當(dāng)有補(bǔ)丁改動(dòng)了KMI 接口或者數(shù)據(jù)結(jié)構(gòu)(例如include/linux/mmxx.h),應(yīng)用此補(bǔ)丁后再次運(yùn)行 build ABI 時(shí),該工具會(huì)退出,同時(shí)顯示非零錯(cuò)誤代碼并報(bào)告ABI錯(cuò)誤。例如:

 Leaf changes summary: 1 artifact changed
  Changed leaf types summary: 1 leaf type changed
  Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
  Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

  'struct mm_struct at mm_types.h:372:1' changed:
    type size changed from 6848 to 6912 (in bits)
    there are data member changes:
  [...]

最常見的錯(cuò)誤原因是,驅(qū)動(dòng)程序使用了內(nèi)核中不在符號(hào)列表中的新符號(hào)。目前,我使用的符號(hào)表是:hon4490-android14-vendor/kernel_platform/common/android/abi_gki_aarch64_qcom,當(dāng)出現(xiàn)問(wèn)題時(shí),第一時(shí)間檢查該接口是否在符號(hào)列表中。

最后,新的設(shè)備驅(qū)動(dòng)是需要單獨(dú)配置到kernel configure中,而且必需以=m的形式進(jìn)行,這是GKI2.0的標(biāo)準(zhǔn)要求。

舉個(gè)例子:

例如,需要往內(nèi)核中添加一個(gè)新的設(shè)備驅(qū)動(dòng),Touch的驅(qū)動(dòng)。

1. 修改上一層目錄中的Kconfig/Makefile,添加驅(qū)動(dòng)編譯規(guī)則,例如

obj-$(CONFIG_TOUCHSCREEN_ATMEL_MAXTOUCH_TS)	+= xxx.o

那么,同樣需要將CONFIG_TOUCHSCREEN_ATMEL_MAXTOUCH_TS編譯選項(xiàng)添加到整個(gè)內(nèi)核的編譯配置中,才能夠在編譯內(nèi)核的時(shí)候進(jìn)行編譯。

這里使用到的就是?configs/vendor/xxx_GKI.config?, 添加CONFIG_TOUCHSCREEN_ATMEL_MAXTOUCH_TS=m的編譯配置。其實(shí)同樣可以添加到configs/vendor/xxx_consolidate.config。這里的區(qū)別是什么?原來(lái),xxx-consolidate_defconfig是編譯userdebug時(shí)候被包含的配置文件。

那關(guān)于GKI2.0的大概歷史就是這樣,相關(guān)的開發(fā)注意事項(xiàng)需要結(jié)合開發(fā)過(guò)程進(jìn)行深化理解。

實(shí)干出真知!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-848514.html

到了這里,關(guān)于我的NPI項(xiàng)目之設(shè)備系統(tǒng)啟動(dòng)(八) -- Android14的GKI項(xiàng)目的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 內(nèi)核編譯-Pixel 6設(shè)備Android 13系統(tǒng)編譯gki內(nèi)核并整合KernelSU

    內(nèi)核編譯-Pixel 6設(shè)備Android 13系統(tǒng)編譯gki內(nèi)核并整合KernelSU

    為Pixel6編譯內(nèi)核,需要增加一些配置,和集成 KernelSU 。 vm Ubuntu 22.04 500g-24g內(nèi)存 默認(rèn)狀態(tài): 編譯成功刷入真機(jī)后: 下載內(nèi)核 以下操作前提:具備全球通上網(wǎng) 以下操作前提:具備全球通上網(wǎng) 以下操作前提:具備全球通上網(wǎng) 參考官方文檔通用內(nèi)核映像 (GKI) 發(fā)布 build | Android 開

    2024年02月16日
    瀏覽(22)
  • 使用QFIL升級(jí)高通芯片的Android系統(tǒng)

    使用QFIL升級(jí)高通芯片的Android系統(tǒng)

    系統(tǒng)信息 芯片是SC806,系統(tǒng)是Android7.1.2,QFIL工具集是升級(jí)Android系統(tǒng)的工具;以下是具體的升級(jí)步驟; 一,方式一:使用?QFIL?升級(jí): 1,安裝QDART和QPST驅(qū)動(dòng) 一路下一步就好,傻瓜式安裝; 2,找到QFIL軟件工具 3,進(jìn)入QFIL工具之后點(diǎn)擊Configuration,然后點(diǎn)擊FireHose?Configuration,再出

    2024年02月05日
    瀏覽(20)
  • Android系統(tǒng) ——高通平臺(tái)刷機(jī)流程(qfil)

    Android系統(tǒng) ——高通平臺(tái)刷機(jī)流程(qfil)

    整理一下高通平臺(tái)的線刷工具 — qfil 下載地址:https://createpoint.qti.qualcomm.com/to 方法一: 方法二: 按住電源鍵+音量加/音量減 方法三: 一般開發(fā)板會(huì)有短接的測(cè)試點(diǎn),可以試用鑷子進(jìn)行短接也可以進(jìn)入9008 指定Programmer Path,Search Path以及RawProgram的配置文件 記得點(diǎn)擊download之前

    2024年02月15日
    瀏覽(16)
  • Rockchip Android13 GKI開發(fā)指南

    Rockchip Android13 GKI開發(fā)指南

    1.1 什么是GKI GKI:Generic Kernel Image 通用內(nèi)核映像。 Android13 GMS和EDLA認(rèn)證的一個(gè)難點(diǎn)是google強(qiáng)制要求要支持GKI。GKI通用內(nèi)核映像,是google為了解決內(nèi)核碎片化的問(wèn)題,而設(shè)計(jì)的通過(guò)提供統(tǒng)一核心內(nèi)核并將SoC和板級(jí)驅(qū)動(dòng)從核心內(nèi)核移至可加載模塊中。核心內(nèi)核為驅(qū)動(dòng)模塊提供了穩(wěn)

    2024年02月02日
    瀏覽(62)
  • Android studio “Layout Inspector“工具在Android14 userdebug設(shè)備無(wú)法正常使用

    Android studio “Layout Inspector“工具在Android14 userdebug設(shè)備無(wú)法正常使用

    背景描述 做rom開發(fā)的都知道,“Layout Inspector”和“Attach Debugger to Android Process”是studio里很好用的工具,可以用來(lái)查看布局、調(diào)試系統(tǒng)進(jìn)程(比如setting、launcher、systemui)。 問(wèn)題描述 最進(jìn)剛開始一個(gè)Android 14的項(xiàng)目,刷userdebug版本后,發(fā)現(xiàn)“Layout Inspector”和“Attach Debugger to

    2024年02月07日
    瀏覽(25)
  • [Android14] SystemUI的啟動(dòng)

    [Android14] SystemUI的啟動(dòng)

    ? ? ? ? SystemUI是Android系統(tǒng)級(jí)應(yīng)用,負(fù)責(zé)反饋系統(tǒng)及應(yīng)用狀態(tài)并與用戶保持大量的交互。業(yè)務(wù)主要涉及的組成部分包括狀態(tài)欄(Status Bar),通知欄(Notification Panel),鎖屏(Keyguard),控制中心(Quick Setting),音量調(diào)節(jié)(VolumeUI), 近期任務(wù)(Recents)等等。 圖例如下所示: package name: ? ?

    2024年04月27日
    瀏覽(25)
  • RK3568平臺(tái) Android13 GKI架構(gòu)開發(fā)方式

    RK3568平臺(tái) Android13 GKI架構(gòu)開發(fā)方式

    GKI:Generic Kernel Image 通用內(nèi)核映像。 Android13 GMS和EDLA認(rèn)證的一個(gè)難點(diǎn)是google強(qiáng)制要求要支持GKI。GKI通用內(nèi)核映像,是google為了解決內(nèi)核碎片化的問(wèn)題,而設(shè)計(jì)的通過(guò)提供統(tǒng)一核心內(nèi)核并將SoC和板級(jí)驅(qū)動(dòng)從核心內(nèi)核移至可加載模塊中。核心內(nèi)核為驅(qū)動(dòng)模塊提供了穩(wěn)定的內(nèi)核模塊

    2024年02月04日
    瀏覽(26)
  • 我的第一個(gè)flutter項(xiàng)目(Android & Webview)

    我的第一個(gè)flutter項(xiàng)目(Android & Webview)

    前言:flutter開發(fā)環(huán)境搭建Flutter的開發(fā)環(huán)境搭建-圖解_☆七年的博客-CSDN博客 第一個(gè)flutter簡(jiǎn)單項(xiàng)目,內(nèi)容是一個(gè)主界面,其中: ? ? 1.內(nèi)容點(diǎn)擊數(shù)字自增 ? ? 2.跳轉(zhuǎn)一個(gè)空頁(yè), ? ? 3.跳轉(zhuǎn)一個(gè)WebView界面 其中涉及添加主鍵,新建界面類,導(dǎo)入依賴,使用WebView, 兼容http網(wǎng)絡(luò)安全

    2024年02月15日
    瀏覽(97)
  • 如何啟動(dòng)Android studio 中的設(shè)備模擬器

    如何啟動(dòng)Android studio 中的設(shè)備模擬器

    一、在 Android Studio 中單獨(dú)啟動(dòng)設(shè)備模擬器 打開 Android Studio,確保您已經(jīng)創(chuàng)建了一個(gè)虛擬設(shè)備或者正在運(yùn)行一個(gè)設(shè)備模擬器。 在工具欄中找到并點(diǎn)擊 \\\"AVD Manager\\\" 按鈕。 在 AVD Manager 窗口中,找到您要啟動(dòng)的設(shè)備模擬器,并點(diǎn)擊其右側(cè)的 \\\"Play\\\" 按鈕。 此時(shí),Android Studio 將會(huì)啟動(dòng)

    2024年02月12日
    瀏覽(36)
  • 小馳私房菜_16_高通設(shè)備開機(jī)模式

    小馳私房菜_16_高通設(shè)備開機(jī)模式

    [Android基礎(chǔ)] [qcom開機(jī)模式] 用的比較多的可能是 adb reboot bootloader 和 adb reboot edl 。 這2個(gè)命令都是刷機(jī)的時(shí)候會(huì)用到。 adb reboot bootloader 是進(jìn)入bootloader模式,通過(guò)fastboot 命令來(lái)刷img文件。 adb reboot edl 是進(jìn)入緊急下載模式,進(jìn)而可以通過(guò) Qfile 工具來(lái)刷包。 ?

    2024年02月11日
    瀏覽(9)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包