diff options
-rw-r--r-- | anttasks/src/com/android/ant/ApkBuilderTask.java | 14 | ||||
-rw-r--r-- | apkbuilder/src/com/android/apkbuilder/internal/ApkBuilderImpl.java | 7 |
2 files changed, 16 insertions, 5 deletions
diff --git a/anttasks/src/com/android/ant/ApkBuilderTask.java b/anttasks/src/com/android/ant/ApkBuilderTask.java index 9e3c8e4..f73739b 100644 --- a/anttasks/src/com/android/ant/ApkBuilderTask.java +++ b/anttasks/src/com/android/ant/ApkBuilderTask.java @@ -254,7 +254,11 @@ public class ApkBuilderTask extends Task { // now go through the list of jar folders. for (Path pathList : mJarfolderList) { for (String path : pathList.list()) { - ApkBuilderImpl.processJar(new File(path), mResourcesJars); + // it's ok if top level folders are missing + File folder = new File(path); + if (folder.isDirectory()) { + ApkBuilderImpl.processJar(folder, mResourcesJars); + } } } @@ -268,8 +272,12 @@ public class ApkBuilderTask extends Task { // now the native lib folder. for (Path pathList : mNativeList) { for (String path : pathList.list()) { - ApkBuilderImpl.processNativeFolder(new File(path), mDebug, - mNativeLibraries, mVerbose, mAbiFilter); + // it's ok if top level folders are missing + File folder = new File(path); + if (folder.isDirectory()) { + ApkBuilderImpl.processNativeFolder(folder, mDebug, + mNativeLibraries, mVerbose, mAbiFilter); + } } } diff --git a/apkbuilder/src/com/android/apkbuilder/internal/ApkBuilderImpl.java b/apkbuilder/src/com/android/apkbuilder/internal/ApkBuilderImpl.java index 3189c41..2bc7625 100644 --- a/apkbuilder/src/com/android/apkbuilder/internal/ApkBuilderImpl.java +++ b/apkbuilder/src/com/android/apkbuilder/internal/ApkBuilderImpl.java @@ -246,9 +246,10 @@ public final class ApkBuilderImpl { * @param file the {@link File} to process * @param resourcesJars the collection of FileInputStream to fill up with jar files. * @throws FileNotFoundException + * @throws ApkCreationException */ public static void processJar(File file, Collection<FileInputStream> resourcesJars) - throws FileNotFoundException { + throws FileNotFoundException, ApkCreationException { if (file.isDirectory()) { String[] filenames = file.list(new FilenameFilter() { public boolean accept(File dir, String name) { @@ -260,8 +261,10 @@ public final class ApkBuilderImpl { File f = new File(file, filename); processJarFile(f, resourcesJars); } - } else { + } else if (file.isFile()) { processJarFile(file, resourcesJars); + } else { + throw new ApkCreationException(file.getAbsolutePath()+ " does not exist!"); } } |