diff options
| -rw-r--r-- | anttasks/src/com/android/ant/ApkBuilderTask.java | 21 | ||||
| -rw-r--r-- | apkbuilder/src/com/android/apkbuilder/internal/ApkBuilderImpl.java | 11 |
2 files changed, 25 insertions, 7 deletions
diff --git a/anttasks/src/com/android/ant/ApkBuilderTask.java b/anttasks/src/com/android/ant/ApkBuilderTask.java index 18a019158..a7ee02b78 100644 --- a/anttasks/src/com/android/ant/ApkBuilderTask.java +++ b/anttasks/src/com/android/ant/ApkBuilderTask.java @@ -68,7 +68,8 @@ public class ApkBuilderTask extends Task { private final ArrayList<Value> mZipList = new ArrayList<Value>(); private final ArrayList<Value> mFileList = new ArrayList<Value>(); private final ArrayList<Value> mSourceList = new ArrayList<Value>(); - private final ArrayList<Value> mJarList = new ArrayList<Value>(); + private final ArrayList<Value> mJarfolderList = new ArrayList<Value>(); + private final ArrayList<Value> mJarfileList = new ArrayList<Value>(); private final ArrayList<Value> mNativeList = new ArrayList<Value>(); private final ArrayList<FileInputStream> mZipArchives = new ArrayList<FileInputStream>(); @@ -141,7 +142,16 @@ public class ApkBuilderTask extends Task { */ public Object createJarfolder() { Value file = new Value(); - mJarList.add(file); + mJarfolderList.add(file); + return file; + } + + /** + * Returns an object representing a nested <var>jarfile</var> element. + */ + public Object createJarfile() { + Value file = new Value(); + mJarfileList.add(file); return file; } @@ -183,10 +193,15 @@ public class ApkBuilderTask extends Task { } // now go through the list of jar folders. - for (Value v : mJarList) { + for (Value v : mJarfolderList) { ApkBuilderImpl.processJarFolder(v.mPath, mResourcesJars); } + // now go through the list of jar files. + for (Value v : mJarfileList) { + ApkBuilderImpl.processJarFile(v.mPath, mResourcesJars); + } + // now the native lib folder. for (Value v : mNativeList) { String parameter = v.mPath; diff --git a/apkbuilder/src/com/android/apkbuilder/internal/ApkBuilderImpl.java b/apkbuilder/src/com/android/apkbuilder/internal/ApkBuilderImpl.java index 780af756c..6a8213eec 100644 --- a/apkbuilder/src/com/android/apkbuilder/internal/ApkBuilderImpl.java +++ b/apkbuilder/src/com/android/apkbuilder/internal/ApkBuilderImpl.java @@ -249,15 +249,18 @@ public final class ApkBuilderImpl { for (String file : files) { String path = f.getAbsolutePath() + File.separator + file; - FileInputStream input = new FileInputStream(path); - resourcesJars.add(input); + processJarFile(parameter, resourcesJars); } } else { - FileInputStream input = new FileInputStream(parameter); - resourcesJars.add(input); + processJarFile(parameter, resourcesJars); } } + public static void processJarFile(String jarfilePath, Collection<FileInputStream> resourcesJars) + throws FileNotFoundException { + FileInputStream input = new FileInputStream(jarfilePath); + resourcesJars.add(input); + } /** * Processes a {@link File} that could be a {@link ApkFile}, or a folder containing |
