aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java13
1 files changed, 8 insertions, 5 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 87d2253a14..d902395c54 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
@@ -56,6 +56,7 @@ import com.google.devtools.build.lib.rules.java.JavaCommon;
import com.google.devtools.build.lib.rules.java.JavaCompilationArgsProvider;
import com.google.devtools.build.lib.rules.java.JavaSemantics;
import com.google.devtools.build.lib.rules.java.JavaTargetAttributes;
+import com.google.devtools.build.lib.vfs.PathFragment;
import java.util.ArrayList;
import java.util.LinkedHashMap;
@@ -1112,14 +1113,16 @@ public abstract class AndroidBinary implements RuleConfiguredTargetFactory {
.addInputArgument(javaResourceZip);
}
- ImmutableList<Artifact> nativeSymlinks = nativeLibs.createApkBuilderSymlinks(ruleContext);
- if (!nativeSymlinks.isEmpty()) {
+ Artifact nativeSymlinks = nativeLibs.createApkBuilderSymlinks(ruleContext);
+ if (nativeSymlinks != null) {
+ PathFragment nativeSymlinksDir = nativeSymlinks.getExecPath().getParentDirectory();
actionBuilder
- .addInputs(nativeSymlinks)
+ .addInputManifest(nativeSymlinks, nativeSymlinksDir)
+ .addInput(nativeSymlinks)
+ .addInputs(nativeLibs.getAllNativeLibs())
.addArgument("-nf")
// If the native libs are "foo/bar/x86/foo.so", we need to pass "foo/bar" here
- .addArgument(nativeSymlinks.get(0).getExecPath()
- .getParentDirectory().getParentDirectory().getPathString());
+ .addArgument(nativeSymlinksDir.getPathString());
}
if (nativeLibs.getName() != null) {