diff options
author | 2017-03-14 16:11:57 +0000 | |
---|---|---|
committer | 2017-03-14 19:51:19 +0000 | |
commit | bf34ec10c021636dc3577eb1e6357f04149f9e97 (patch) | |
tree | 01490234b4f03f13c40f6a99fb67c05f84d8a541 /src/main/java/com/google/devtools/build | |
parent | 5fa18d12d95cd945d5ca76aba45f1b797527a95b (diff) |
Make mobile-install work with --use_singlejar_apkbuilder.
All .dex files to include in the APK must now either be in a zip file or be
named "classes.dex".
Now with test coverage!
--
PiperOrigin-RevId: 150074347
MOS_MIGRATED_REVID=150074347
Diffstat (limited to 'src/main/java/com/google/devtools/build')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java | 6 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/ApkActionsBuilder.java | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java index 5891a1e38d..79457e3e8e 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java @@ -928,8 +928,10 @@ public abstract class AndroidBinary implements RuleConfiguredTargetFactory { .setDerivedJarFunction(desugaredJars) .build(); - Artifact stubDex = getDxArtifact(ruleContext, - split ? "split_stub_application.dex" : "stub_application.dex"); + Artifact stubDex = + getDxArtifact( + ruleContext, + split ? "split_stub_application/classes.dex" : "stub_application/classes.dex"); AndroidCommon.createDexAction( ruleContext, stubDeployJar, diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/ApkActionsBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/ApkActionsBuilder.java index 7b03534760..216713fced 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/ApkActionsBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/ApkActionsBuilder.java @@ -25,6 +25,7 @@ import com.google.devtools.build.lib.rules.java.JavaHelper; import com.google.devtools.build.lib.rules.java.JavaToolchainProvider; import com.google.devtools.build.lib.rules.java.Jvm; import com.google.devtools.build.lib.util.Pair; +import com.google.devtools.build.lib.util.Preconditions; import com.google.devtools.build.lib.vfs.PathFragment; import java.util.Map; @@ -67,9 +68,12 @@ public class ApkActionsBuilder { /** * Sets the dex file to be included in the APK. * - * <p>Can be either a plain .dex or a .zip file containing dexes. + * <p>Can be either a plain classes.dex or a .zip file containing dexes. */ public ApkActionsBuilder setClassesDex(Artifact classesDex) { + Preconditions.checkArgument( + classesDex.getFilename().endsWith(".zip") + || classesDex.getFilename().equals("classes.dex")); this.classesDex = classesDex; return this; } |