@Override
protected void doFullTaskAction() {
try {
final File dir = getJavaResourceDir();
getBuilder().packageApk(getResourceFile().getAbsolutePath(), getDexFolder(),
getDexedLibraries(), getPackagedJars(),
(dir == null ? null : dir.getAbsolutePath()), getJniFolders(),
getMergingFolder(), getAbiFilters(), getJniDebugBuild(), getSigningConfig(),
getPackagingOptions(), getOutputFile().getAbsolutePath());
} catch (DuplicateFileException e) {
Logger logger = getLogger();
logger.error("Error: duplicate files during packaging of APK " + getOutputFile()
.getAbsolutePath());
logger.error("\tPath in archive: " + e.getArchivePath());
logger.error("\tOrigin 1: " + e.getFile1());
logger.error("\tOrigin 2: " + e.getFile2());
logger.error("You can ignore those files in your build.gradle:");
logger.error("\tandroid {");
logger.error("\t packagingOptions {");
logger.error("\t exclude \'" + e.getArchivePath() + "\'");
logger.error("\t }");
logger.error("\t}");
throw new BuildException(e.getMessage(), e);
} catch (Exception e) {
throw new BuildException(e.getMessage(), e);
}
}