public Configuration(File config,File outputFile,File oldApkFile,File newApkFile) throws IOException, ParserConfigurationException, SAXException, TinkerPatchException {
  mUsingGradle=false;
  mSoFilePattern=new HashSet<>();
  mDexFilePattern=new HashSet<>();
  mDexLoaderPattern=new HashSet<>();
  mResFilePattern=new HashSet<>();
  mResRawPattern=new HashSet<>();
  mResIgnoreChangePattern=new HashSet<>();
  mPackageFields=new HashMap<>();
  mOutFolder=outputFile.getAbsolutePath();
  FileOperation.cleanDir(outputFile);
  mOldApkFile=oldApkFile;
  mOldApkPath=oldApkFile.getAbsolutePath();
  mNewApkFile=newApkFile;
  mNewApkPath=newApkFile.getAbsolutePath();
  mLargeModSize=100;
  readXmlConfig(config);
  createTempDirectory();
  checkInputPatternParameter();
}

public Configuration ( File config , File outputFile , File oldApkFile , File newApkFile ) throws IOException , ParserConfigurationException , SAXException , TinkerPatchException { mUsingGradle = false ; mSoFilePattern = new HashSet < > ( ) ; mDexFilePattern = new HashSet < > ( ) ; mDexLoaderPattern = new HashSet < > ( ) ; mResFilePattern = new HashSet < > ( ) ; mResRawPattern = new HashSet < > ( ) ; mResIgnoreChangePattern = new HashSet < > ( ) ; mPackageFields = new HashMap < > ( ) ; mOutFolder = outputFile . getAbsolutePath ( ) ; FileOperation . cleanDir ( outputFile ) ; mOldApkFile = oldApkFile ; mOldApkPath = oldApkFile . getAbsolutePath ( ) ; mNewApkFile = newApkFile ; mNewApkPath = newApkFile . getAbsolutePath ( ) ; mLargeModSize = 100 ; readXmlConfig ( config ) ; createTempDirectory ( ) ; checkInputPatternParameter ( ) ; }
use by command line with xml config
