成人免费无码不卡毛片,亚洲AⅤ无码精品一区二区三区,国产尤物精品视频,久久精品日本亚洲,欧美成人一区三区无码乱码A片,中文字日产幕码一区二区色哟哟,亞洲日韓中文字幕網AV

  • 正文
  • 推薦器件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

android開發(fā)帶有odex, oat, vdex, art等后綴的文件,都是什么含義?

2024/09/21
3.6萬(wàn)
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

哈嘍,大家好,我是LittleG。

雖然我主要是做底層驅(qū)動(dòng)開發(fā),但平時(shí)經(jīng)常會(huì)看到android應(yīng)用編譯出來(lái)帶有odex, oat, vdex, art等后綴的文件,不明其義,比較困惑,所以專門查閱整理學(xué)習(xí)了下,寫篇文章記錄一下。

ref:

https://blog.csdn.net/u010164190/article/details/103328654

https://lief.quarkslab.com/doc/latest/tutorials/10_android_formats.html

有關(guān)odex, oat, vdex, art等后綴的文件說(shuō)明:

1.dex
java程序編譯成class后,dx工具將所有class文件合成一個(gè)dex文件,dex文件是jar文件大小的50%左右.

 
2.odex(Android5.0之前)全稱:Optimized DEX;即優(yōu)化過(guò)的DEX.
Android5.0之前APP在安裝時(shí)會(huì)進(jìn)行驗(yàn)證和優(yōu)化,為了校驗(yàn)代碼合法性及優(yōu)化代碼執(zhí)行速度,驗(yàn)證和優(yōu)化后,會(huì)
產(chǎn)生ODEX文件,運(yùn)行Apk的時(shí)候,直接加載ODEX,避免重復(fù)驗(yàn)證和優(yōu)化,加快了Apk的響應(yīng)時(shí)間.
注意:優(yōu)化會(huì)根據(jù)不同設(shè)備上Dalvik虛擬機(jī)版本、Framework庫(kù)的不同等因素而不同,在一臺(tái)設(shè)備上被優(yōu)化過(guò)
的ODEX文件,拷貝到另一臺(tái)設(shè)備上不一定能夠運(yùn)行。

 
3.oat(Android5.0之后)
oat是ART虛擬機(jī)運(yùn)行的文件,是ELF格式二進(jìn)制文件,包含DEX和編譯的本地機(jī)器指令,oat文件包含DEX文件,因此比ODEX文件占用空間更大。
Android5.0以后在編譯的時(shí)候(此處指系統(tǒng)預(yù)制app,如果通過(guò)adb install或者商店安裝,在安裝時(shí)
dex2oat把dex編譯為odex的ELF格式文件)dex2oat默認(rèn)會(huì)把classes.dex翻譯成本地機(jī)器指令,生成ELF格
式的OAT文件,ART加載OAT文件后不需要經(jīng)過(guò)處理就可以直接運(yùn)行,它在編譯時(shí)就從字節(jié)碼裝換成機(jī)器碼了,因
此運(yùn)行速度更快。不過(guò)android5.0之后oat文件還是以.odex后綴結(jié)尾,但是已經(jīng)不是android5.0之前的文件
格式,而是ELF格式封裝的本地機(jī)器碼.可以認(rèn)為oat在dex上加了一層殼,可以從oat里提取出dex.

 
4.vdex
Android8.0以后加入的,包含APK的未壓縮DEX代碼,另外還有一些旨在加快驗(yàn)證速度的元數(shù)據(jù)。

 
5.art (optional)
包含APK中列出的某些字符串和類的ART內(nèi)部表示,用于加快應(yīng)用啟動(dòng)速度。

 
注意:Android5.0以后在/data/dalvik-cache目錄下的.dex文件已經(jīng)不是android5.0之前的dex文件,
它是ELF文件,可以使用file命令查看如下:

 
# file system@app@[email protected]@classes.dex
system@app@[email protected]@classes.dex: ELF 64-bit LSB shared object, ARM aarch64, version 1 (GNU/Linux), dynamically linked, stripped

以下是關(guān)于OAT的形成圖解:

ELF格式oat :

java to oat:

?

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
CPFBZ-A2C4-32.768KD6 1 Cardinal Components Parallel - Fundamental Quartz Crystal, 0.032768MHz Nom, PLASTIC PACKAGE-4
暫無(wú)數(shù)據(jù) 查看
HFBR-1531Z 1 Broadcom Limited Transmitter, Through Hole Mount, ROHS COMPLIANT PACKAGE

ECAD模型

下載ECAD模型
$17.74 查看
TJA1043T,118 1 NXP Semiconductors TJA1043 - High-speed CAN transceiver SOIC 14-Pin

ECAD模型

下載ECAD模型
$2.43 查看
谷歌

谷歌

谷歌公司(Google Inc.)成立于1998年9月4日,由拉里·佩奇和謝爾蓋·布林共同創(chuàng)建,被公認(rèn)為全球最大的搜索引擎公司。谷歌是一家位于美國(guó)的跨國(guó)科技企業(yè),業(yè)務(wù)包括互聯(lián)網(wǎng)搜索、云計(jì)算、廣告技術(shù)等,同時(shí)開發(fā)并提供大量基于互聯(lián)網(wǎng)的產(chǎn)品與服務(wù),其主要利潤(rùn)來(lái)自于關(guān)鍵詞廣告等服務(wù)。

谷歌公司(Google Inc.)成立于1998年9月4日,由拉里·佩奇和謝爾蓋·布林共同創(chuàng)建,被公認(rèn)為全球最大的搜索引擎公司。谷歌是一家位于美國(guó)的跨國(guó)科技企業(yè),業(yè)務(wù)包括互聯(lián)網(wǎng)搜索、云計(jì)算、廣告技術(shù)等,同時(shí)開發(fā)并提供大量基于互聯(lián)網(wǎng)的產(chǎn)品與服務(wù),其主要利潤(rùn)來(lái)自于關(guān)鍵詞廣告等服務(wù)。收起

查看更多

相關(guān)推薦

  • 3種系統(tǒng)加持,RK3576核心板Linux、Android、桌面系統(tǒng)全兼容
    文章
    804
    04/02 16:40
  • 安卓系統(tǒng)開源時(shí)代終結(jié),影響幾何?
  • Android系統(tǒng)主板應(yīng)用配置默認(rèn)獲取管理所有文件權(quán)限方法
    文章
    948
    03/12 15:00
  • 瑞芯微開發(fā)板/主板Android調(diào)試串口配置為普通串口方法
    文章
    1340
    02/11 13:56
  • 安卓手機(jī)如何打開開發(fā)者模式?用scrcpy將安卓手機(jī)投屏到電腦
    文章
    1897
    02/06 13:31
  • 登錄即可解鎖
    • 海量技術(shù)文章
    • 設(shè)計(jì)資源下載
    • 產(chǎn)業(yè)鏈客戶資源
    • 寫文章/發(fā)需求
    立即登錄
    淮安市| 隆德县| 门头沟区| 古浪县| 平南县| 红原县| 德庆县| 德安县| 灵丘县| 张家港市| 曲水县| 雷山县| 义乌市| 洞头县| 鲁甸县| 神农架林区| 陵水| 南木林县| 镇平县| 抚顺县| 孙吴县| 高雄市| 巴里| 贵阳市| 临清市| 兴国县| 阳朔县| 宁波市| 普兰店市| 耿马| 诏安县| 宜兰市| 会昌县| 南部县| 宜兰市| 汉沽区| 莆田市| 金阳县| 平潭县| 若尔盖县| 青神县|