-
這節(jié)課有用查看全部
-
?查看全部
-
123查看全部
-
記筆記查看全部
-
vv拒絕查看全部
-
記錄查看全部
-
生成補(bǔ)丁包的關(guān)鍵命令查看全部
-
dalvik虛擬機(jī)走multidex,art虛擬機(jī)不走multidex,因?yàn)閍rt是加載aot,為dex的編譯指令文件查看全部
-
ide識(shí)別到multidexenable為true后,在執(zhí)行dx命令是追加了--multidex參數(shù)查看全部
-
jjjkhhgvvgg查看全部
-
記筆記查看全部
-
代碼熱修復(fù)原理:
將補(bǔ)丁dex插入到pathList.dexElements中的首位,優(yōu)先加載熱修復(fù)補(bǔ)丁dex。
查看全部 -
編譯期:
運(yùn)行期:
- 判斷java.vm.version是否需要dex文件處理
- davilk虛擬機(jī):apk中二級(jí)dex文件解壓到應(yīng)用特定目錄 -- 得到二級(jí)文件列表:SecondaryDexes -- 二級(jí)文件列表出入ClassLoader中
- 二級(jí)文件注入ClassLoader:首先反射獲取PathClassLoader的pathList字段 -- pathList再次反射 -- 獲取內(nèi)部的dexElements字段 -- 為前期解壓獲取的二級(jí)dex文件:classes2.dex、classesN.dex文件生成對(duì)應(yīng)的Elements數(shù)組 -- 最后將Elements元素追加到pathList.dexElements的尾部
- 后續(xù)需要加載某個(gè)類:遍歷dexElements數(shù)組,挨個(gè)查找是否有要找的類。
查看全部 -
Dex安裝?
查看全部 -
Java類加載機(jī)制:
.class 文件 --> ClassLoader --> 類加載到虛擬機(jī)中,運(yùn)行
Android類加載機(jī)制:
PathClassLoader加載.dex文件,找出在dex中要運(yùn)行的類
查看全部
舉報(bào)