同花順第一個(gè)口頭任務(wù):apk分包
android官網(wǎng)上有使用multidex解決配置方法數(shù)超過64K的應(yīng)用。
參考該文章,實(shí)現(xiàn)了dex分包。
為了方便以后可能忘記的自己查詢,把文章中的關(guān)鍵部分拷貝在下面
但是demo中方法數(shù)超過64k是一件比較難的事情。為了測(cè)試是否分包成功,我們決定將指定類放置于第二個(gè)dex中。
首先,為了查看dex中包含的類,查看了AndroidStudioo的文章反編譯apk。不過我直接用winRAR解壓了apk(打開winRAR,在winRAR中可以查看apk內(nèi)容并解壓),然后再用dex2jar將dex轉(zhuǎn)換成jar,最后用jd-gui查看。
//其中,使用dex2jar的時(shí)候,和原文略有不同
d2j-dex2jar D:\Decompile\classes2.dex -o D:\Decompile\classes2.jar
//指定轉(zhuǎn)化后的jar的名稱和目錄,其他指令請(qǐng)直接輸入d2j-dex2jar回車查看
關(guān)鍵點(diǎn)在于如何將某類放置于第二個(gè)dex。最終搜索到一種方法:
使用dexKnife,這個(gè)插件可以將某個(gè)類放置于maindex(不超過65536方法數(shù)的前提下),將某類放置于第二個(gè)dex或者更靠后。
最終,調(diào)試完成。設(shè)置過的test.class位于classes2.dex,而MainActivity.class位于classes.dex。
以上方法可行。