aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools
diff options
context:
space:
mode:
authorGravatar corysmith <corysmith@google.com>2018-08-06 12:43:52 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-08-06 12:45:40 -0700
commit29b57c3afcfeb8e3fedcc2edcb0f28f13c784179 (patch)
tree931c8c6edc98fe5a5ab38cd39fa369b05a14b615 /src/tools
parent6bc3fcdffbac0a704929e66e05d96845781afa93 (diff)
Automated rollback of commit bab4b04ad09a571615d04aacadf8b3a2b820ba5f.
*** Reason for rollback *** Appears to cause issues with the new apk. *** Original change description *** Relink instead of convert proto apks. RELNOTES: None PiperOrigin-RevId: 207590807
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/Aapt2ResourceShrinkingAction.java5
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/ResourcesZip.java2
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/aapt2/ResourceLinker.java20
3 files changed, 14 insertions, 13 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/Aapt2ResourceShrinkingAction.java b/src/tools/android/java/com/google/devtools/build/android/Aapt2ResourceShrinkingAction.java
index 4ea6f2b11d..2db283fdca 100644
--- a/src/tools/android/java/com/google/devtools/build/android/Aapt2ResourceShrinkingAction.java
+++ b/src/tools/android/java/com/google/devtools/build/android/Aapt2ResourceShrinkingAction.java
@@ -62,7 +62,7 @@ public class Aapt2ResourceShrinkingAction {
public static final class Aapt2ShrinkOptions extends OptionsBase {
@Option(
name = "useProtoApk",
- defaultValue = "true",
+ defaultValue = "false",
category = "config",
documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
effectTags = {OptionEffectTag.UNKNOWN},
@@ -95,8 +95,7 @@ public class Aapt2ResourceShrinkingAction {
final ResourceLinker linker =
ResourceLinker.create(
aapt2ConfigOptions.aapt2, executorService, scopedTmp.subDirectoryOf("linking"))
- .profileUsing(profiler)
- .dependencies(ImmutableList.of(StaticLibrary.from(aapt2ConfigOptions.androidJar)));
+ .profileUsing(profiler);
final Set<String> packages =
options
diff --git a/src/tools/android/java/com/google/devtools/build/android/ResourcesZip.java b/src/tools/android/java/com/google/devtools/build/android/ResourcesZip.java
index a1c6ab648a..3e1ecda49e 100644
--- a/src/tools/android/java/com/google/devtools/build/android/ResourcesZip.java
+++ b/src/tools/android/java/com/google/devtools/build/android/ResourcesZip.java
@@ -286,7 +286,7 @@ public class ResourcesZip {
ShrunkProtoApk writeBinaryTo(ResourceLinker linker, Path binaryOut, boolean writeAsProto)
throws IOException {
Files.copy(
- writeAsProto ? apk : linker.link(ProtoApk.readFrom(apk)),
+ writeAsProto ? apk : linker.optimizeApk(linker.convertToBinary(apk)),
binaryOut,
StandardCopyOption.REPLACE_EXISTING);
return this;
diff --git a/src/tools/android/java/com/google/devtools/build/android/aapt2/ResourceLinker.java b/src/tools/android/java/com/google/devtools/build/android/aapt2/ResourceLinker.java
index 409a21a824..8930883dd8 100644
--- a/src/tools/android/java/com/google/devtools/build/android/aapt2/ResourceLinker.java
+++ b/src/tools/android/java/com/google/devtools/build/android/aapt2/ResourceLinker.java
@@ -411,7 +411,7 @@ public class ResourceLinker {
public PackagedResources link(CompiledResources compiled) {
try {
- final Path linked =
+ final Path outPath =
workingDirectory.resolve("bin." + (outputAsProto ? PROTO_EXTENSION : BINARY_EXTENSION));
Path rTxt = workingDirectory.resolve("R.txt");
Path proguardConfig = workingDirectory.resolve("proguard.cfg");
@@ -434,8 +434,8 @@ public class ResourceLinker {
.add("--manifest", compiled.getManifest())
// Enables resource redefinition and merging
.add("--auto-add-overlay")
- // Always link to proto, as resource shrinking needs the extra information.
- .add("--proto-format")
+ .when(outputAsProto)
+ .thenAdd("--proto-format")
.when(debug)
.thenAdd("--debug-mode")
.add("--custom-package", customPackage)
@@ -472,7 +472,7 @@ public class ResourceLinker {
.add("--proguard-main-dex", mainDexProguard)
.when(conditionalKeepRules)
.thenAdd("--proguard-conditional-keep-rules")
- .add("-o", linked)
+ .add("-o", outPath)
.execute(String.format("Linking %s", compiled.getManifest())));
profiler.recordEndOf("fulllink").startTask("attributes");
@@ -490,9 +490,10 @@ public class ResourceLinker {
profiler.recordEndOf("attributes");
if (densities.size() < 2) {
+ final Path protoApk = convertToProto(outPath);
return PackagedResources.of(
- outputAsProto ? linked : link(ProtoApk.readFrom(linked)), // convert proto to apk
- linked,
+ outputAsProto ? protoApk : convertToBinary(outPath), // convert proto to apk
+ protoApk,
rTxt,
proguardConfig,
mainDexProguard,
@@ -512,13 +513,14 @@ public class ResourceLinker {
.thenAdd("-v")
.add("--target-densities", densities.stream().collect(Collectors.joining(",")))
.add("-o", optimized)
- .add(linked.toString())
+ .add(outPath.toString())
.execute(String.format("Optimizing %s", compiled.getManifest())));
profiler.recordEndOf("optimize");
+ final Path protoApk = convertToProto(optimized);
return PackagedResources.of(
- outputAsProto ? optimized : link(ProtoApk.readFrom(optimized)), // convert proto to binary
- optimized,
+ outputAsProto ? protoApk : convertToBinary(optimized), // convert proto to binary
+ protoApk,
rTxt,
proguardConfig,
mainDexProguard,