code: public static List<String> getSourcePaths(Context context) throws PackageManager.NameNotFoundException, IOException {
          ApplicationInfo applicationInfo = context.getPackageManager().getApplicationInfo(context.getPackageName(), 0);
          File sourceApk = new File(applicationInfo.sourceDir);
  
          List<String> sourcePaths = new ArrayList<>();
          sourcePaths.add(applicationInfo.sourceDir); //add the default apk path
  
          //the prefix of extracted file, ie: test.classes
          String extractedFilePrefix = sourceApk.getName() + EXTRACTED_NAME_EXT;
  
  //        如果VM已经支持了MultiDex，就不要去Secondary Folder加载 Classesx.zip了，那里已经么有了
  //        通过是否存在sp中的multidex.version是不准确的，因为从低版本升级上来的用户，是包含这个sp配置的
          if (!isVMMultidexCapable()) {
              //the total dex numbers
              int totalDexNumber = getMultiDexPreferences(context).getInt(KEY_DEX_NUMBER, 1);
              File dexDir = new File(applicationInfo.dataDir, SECONDARY_FOLDER_NAME);
  
              for (int secondaryNumber = 2; secondaryNumber <= totalDexNumber; secondaryNumber++) {
                  //for each dex file, ie: test.classes2.zip, test.classes3.zip...
                  String fileName = extractedFilePrefix + secondaryNumber + EXTRACTED_SUFFIX;
                  File extractedFile = new File(dexDir, fileName);
                  if (extractedFile.isFile()) {
                      sourcePaths.add(extractedFile.getAbsolutePath());
                      //we ignore the verify zip part
                  } else {
                      throw new IOException("Missing extracted secondary dex file '" + extractedFile.getPath() + "'");
                  }
              }
          }
  
          if (ARouter.debuggable()) { // Search instant run support only debuggable
              sourcePaths.addAll(tryLoadInstantRunDexFile(applicationInfo));
          }
          return sourcePaths;
      }
docs: get all the dex path
  
  @param context the application context
  @return all the dex path
  @throws PackageManager.NameNotFoundException
  @throws IOException