/** * Adds all non-class files from folder, so that we can add META-INF/services resources. */ private void addResourcesFromFolder( ApkBuilder builder, File folder ) throws SealedApkException, DuplicateFileException, ApkCreationException, IOException { final int folderPathLength = folder.getCanonicalPath().length(); final List<File> resourceFiles = new ArrayList<>( ); collectFiles( folder, resourceFiles ); for ( final File resourceFile : resourceFiles ) { final String resourceName = resourceFile .getCanonicalPath() .substring( folderPathLength + 1 ) .replaceAll( "\\\\", "/" ); getLog().info( "Adding resource " + resourceFile + " : " + resourceName ); builder.addFile( resourceFile, resourceName ); } }
private void addSecondaryDexes( File dexFile, ApkBuilder apkBuilder ) throws ApkCreationException, SealedApkException, DuplicateFileException { int dexNumber = 2; String dexFileName = getNextDexFileName( dexNumber ); File secondDexFile = createNextDexFile( dexFile, dexFileName ); while ( secondDexFile.exists() ) { apkBuilder.addFile( secondDexFile, dexFileName ); dexNumber++; dexFileName = getNextDexFileName( dexNumber ); secondDexFile = createNextDexFile( dexFile, dexFileName ); } }
addFile(mDexFile, SdkConstants.FN_APK_CLASSES_DEX);