diff --git a/tools/anttasks/src/com/android/ant/ApkBuilderTask.java b/tools/anttasks/src/com/android/ant/ApkBuilderTask.java index b2c445da6..e062fedeb 100644 --- a/tools/anttasks/src/com/android/ant/ApkBuilderTask.java +++ b/tools/anttasks/src/com/android/ant/ApkBuilderTask.java @@ -205,8 +205,26 @@ public class ApkBuilderTask extends Task { // for reuse by other targets (signing/zipaligning) Path path = new Path(antProject); + // The createApk method uses mBaseName for the base name of the packages (resources + // and apk files). + // The generated apk file name is + // debug: {base}[-{config}]-debug-unaligned.apk + // release: {base}[-{config}]-unsigned.apk + // Unfortunately for 1.5 projects and before the 'install' ant target expects the name + // of the default debug package to be {base}-debug.apk + // In order to support those package, we look for the 'out-debug-unaligned-package' + // property. If this exist, then we generate {base}[-{config}]-debug-unaligned.apk + // otherwise we generate {base}[-{config}]-debug.apk + // FIXME: Make apkbuilder export the package name used instead of + // having to keep apkbuilder and the rules file in sync + String debugPackageSuffix = "-debug-unaligned.apk"; + if (antProject.getProperty("out-debug-unaligned-package") == null) { + debugPackageSuffix = "-debug.apk"; + } + // first do a full resource package - createApk(apkBuilder, null /*configName*/, null /*resourceFilter*/, path); + createApk(apkBuilder, null /*configName*/, null /*resourceFilter*/, path, + debugPackageSuffix); // now see if we need to create file with filtered resources. // Get the project base directory. @@ -219,7 +237,8 @@ public class ApkBuilderTask extends Task { Map apkFilters = apkSettings.getResourceFilters(); if (apkFilters.size() > 0) { for (Entry entry : apkFilters.entrySet()) { - createApk(apkBuilder, entry.getKey(), entry.getValue(), path); + createApk(apkBuilder, entry.getKey(), entry.getValue(), path, + debugPackageSuffix); } } } @@ -244,11 +263,12 @@ public class ApkBuilderTask extends Task { * @param resourceFilter the resource configuration filter to pass to aapt (if configName is * non null) * @param path Ant {@link Path} to which add the generated APKs as {@link PathElement} + * @param debugPackageSuffix suffix for the debug packages. * @throws FileNotFoundException * @throws ApkCreationException */ private void createApk(ApkBuilderImpl apkBuilder, String configName, String resourceFilter, - Path path) + Path path, String debugPackageSuffix) throws FileNotFoundException, ApkCreationException { // All the files to be included in the archive have already been prep'ed up, except // the resource package. @@ -274,7 +294,7 @@ public class ApkBuilderTask extends Task { } if (mSigned) { - filename = filename + "-debug-unaligned.apk"; + filename = filename + debugPackageSuffix; } else { filename = filename + "-unsigned.apk"; } diff --git a/tools/eclipse/changes.txt b/tools/eclipse/changes.txt index cd2736abe..5805681b7 100644 --- a/tools/eclipse/changes.txt +++ b/tools/eclipse/changes.txt @@ -1,7 +1,8 @@ -0.9.2: +0.9.3: - New wizard to create Android JUnit Test Projects. - New AVD wizard. - SDK Updater +- zipalign support 0.9.1: - Added an AVD creation wizard to ADT. It is automatically displayed during a launch if no compatible AVDs are found. diff --git a/tools/scripts/android_rules.xml b/tools/scripts/android_rules.xml index 4a98700e7..64f0e392e 100644 --- a/tools/scripts/android_rules.xml +++ b/tools/scripts/android_rules.xml @@ -235,15 +235,7 @@ - Installing ${out.debug.package} onto default emulator or device... - - - - - - - + description="Installs/reinstalls the debug package onto a running emulator or device. This can only be used if the application has not yet been installed."> Installing ${out.debug.package} onto default emulator or device... @@ -286,12 +278,10 @@ debug: Builds the application and signs it with a debug key. release: Builds the application. The generated apk file must be signed before it is published. - install: Installs the debug package onto a running emulator or - device. This can only be used if the application has - not yet been installed. - reinstall: Installs the debug package on a running emulator or - device that already has the application. - The signatures must match. + install: Installs/reinstall the debug package onto a running + emulator or device. + If the application was previously installed, the + signatures must match. uninstall: Uninstalls the application from a running emulator or device.