public class HotFix { public static final String FIX_DEX_PATH = "fix_dex";//fixDex存储的路径 public static final String DEX_OPT_DIR = "optimize_dex";//dex的优化路径 public static final String DEX_BASECLASSLOADER_CLASS_NAME = "dalvik.system.BaseDexClassLoader"; public static final String DEX_PATHLIST_FIELD = "pathList";//BaseClassLoader中的pathList字段 public static final String DEX_ELEMENTS_FIELD = "dexElements";//pathList中的dexElements字段 public static final String DEX_FILE_E = "dex";//扩展名 public void loadDex(Context context, File dexFile){ if(context == null)return; File fixDir = context.getDir(FIX_DEX_PATH,Context.MODE_PRIVATE); mergeDex(context,fixDir,dexFile); } public void mergeDex(Context context,File fixDexFile,File dexFile){ try { File optDir = new File(fixDexFile.getAbsolutePath(),DEX_OPT_DIR); if(!optDir.exists())optDir.mkdir(); PathClassLoader pathClassLoader = (PathClassLoader) c
用新增DEX的方法实现热修复
最新推荐文章于 2022-12-23 20:11:25 发布