Android????Bug?????????
?????keep_thinking ???????[ 2016/7/5 17:24:25 ] ??????????????? ???????
????????????dexElements?б????????????element.dexFile???????loadClassBinaryName????????????????????????null????????????????????Class???????????dexElements????????DexPathList????????????????????
????this.dexElements = makeDexElements(splitDexPath(dexPath)?? optimizedDirectory?? suppressedExceptions);
????makeDexElements??????????????????????????dexPath???????μ??????dex??????????????BaseDexClassLoader???и?pathList????pathList?а??????DexFile?????dexElements??????????????????????????????DexFile?????
?????????????????????????dexElements??????Щ???飬?????????????????????????????patch.jar????????????????????????findClass????????????????????????????bug????
???????ClassLoader??????????dex????????dex????????Element?????dex??????г?????????????dexElements????????????????????dex?????????????????dex????????????????????????????????????dex???????????
???????JVM?У?ClassLoader????defineClass??????????Android??defineClass???????????????loadClass?????????????????????????DexFile?У???DexFile?м????????巽?????defineClass
????ClassLoader????
???????ClassLoader?????????????ClassLoader??????????????????????????????????????′?????????????????ClassLoader??????????????????????????????μ?????????????????????????????????ε??????????????
??????????ClassLoader?????????APP?????????BUG??????????????APP??????Ч??
???????????ClassLoader???????????jni hook?????????????д????????????????Native????????????????????????????????????????jni hook??????????????????????Ч??
???????????dexposed??AndFix??????jni hook????
????Android??????????Java?????????????????鷳??????
???????ClassLoader????????????????????????????飬?????????????????????μ????д???????????????????Java??????Android?????????????????????????鷳??????
????Android????????????Activity??Service??????????Manifest???????????????????????????????????????????????????????????μ????????????????????????????????
????Res?????Android?????о???????????Android?????Щ?????????R.id???????????????ЩID??Resource????л?????????????????????????????????????????????????R.id??????????????????????????????????????????????ID?????????е?Resource????б???????ID??????
?????????????Android?????????Java??????????????????????????????Context???????
????Android??context??????????????????????????????????Щ????Res?????????????????Android??????????У?????????????????????θ??????????????????????????
??????????Ч??
???????????????????sdk????????????????????????????????Patch?????????????????????????bug??
???????????
?????????????????????????????????????????
?????????????????????????????
??????Сbug???????????????????????????Χ??
??????????????????????????????
????????????????
??????????Android??ClassLoader??????Android???PathClassLoader??????????????DexClassLoader?????.jar??.apk???????????????classes.dex?????
???????????????????????????Android??????????????????DexClassLoader??????????????????????????????????????е???????????????飬??????????????????????????DexClassLoader?????????
???????????????????BaseDexClassLoader?е?pathList????pathList?а??????DexFile?????dexElements??????????????dexElements??????Щ???飬?????????????????????????????patch.jar??????????????????
???????????????????findClass????????????????????????????????bug????????????????????????CLASS_ISPREVERIFIED???????App????????????????????
???????????????
?????????????Android?е??????????????????????
????DexPathList?????е?dexElements?б???????????????????????????????????????????dex??????????dexElements???????dex????С?
????exElements?г?????????????????dexElements???????dex?????????????Class?????????????????????
????????????????hot fix??????????????pacth dex?????????dexElements?б????檔
??????????????????????????????????PathClassLoader.pathList.dexElements????????Щ???????private??????????????????????
?????????????????????dex??????????dexElements?????????????????????????????????
??????????????DexClassLoader???????????????dex???
???????????dexClassLoader.loadClass(dummyClassName)????
????????dexClassLoader.pathList.dexElements?л?????????dex
?????????dexClassLoader.pathList.dexElements??????????classLoader.pathList.dexElements?б???棬????????????????????dex?е?????????????????????
????????????
???????????????????????????????????????????????hook????????????????????????????????????????????????????????????????????????????????????
?????????classloader???????????????????????????????????????????????????????????????????????????????????????????loadClass?????????????????????′??????????С?
????Android????У????????????????????????????????????????????
????1.???????so??
????2.???????dex/jar/apk?????????????????
??????????????????
????1.???????????Dex???????????????????
????2.??APK????????????????????Dex?????????д?????????????????Щ??????檔
????3.Android??????е??????????????ЩDex???????????????
????4.??????APK???????????????????????????????Dex???????????????????????????Dex?????????
???????????????????洢????????????????
?????????????????????APK??????е?Dex????????????????????????????????е????????????????????μ?Dex?????ɡ?
?????????????????????Android???????????????????????μ?dex????????????bug???“?滻”????????????????bug????????????ν??Hot Fix??
??????????·?????????????????????к????????????????Android??????к????????????
???????????????????????????
???????????????????????漰???????????????????SPASVOС??(021-61079698-8054)?????????????????????????
??????
??????????????????Bug???????????????????????γ?????????????????????????????????????????????ж??????????????????????????????????????????Щ????ν??????????????????е???????????????????Ч????????????????????????ALM(??????????????)???????-??????????ALM(??????????????)???????-???????????ALM(??????????????)???????-?????????á????????ALM(??????????????)???????-????????????Bug????????????????????????????????????????????????JIRA??????????????????????????????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11????????
?????????App Bug???????????????????????Jmeter?????????QC??????APP????????????????app?????е????????jenkins+testng+ant+webdriver??????????????JMeter????HTTP???????Selenium 2.0 WebDriver ??????