Use "minSdkVersion" input from values for empty manifest
By default `AndroidManifest.asEmpty()` uses inputs of `""` for package and `"1"` for the the min sdk, this is causing the merger validation to later complain that the min sdk is being overridden by the manifest values sdk version (in `XmlDocument.verifyVersion`). Of course the input sdk version is synthetic and was not declared by the user so this error is spurious.
PiperOrigin-RevId: 559757030
Change-Id: I14d18905f32bafc0ccd6aa4f3dec48415db7df74
diff --git a/src/tools/android/java/com/google/devtools/build/android/ManifestMergerAction.java b/src/tools/android/java/com/google/devtools/build/android/ManifestMergerAction.java
index 6755c7b..70510d3 100644
--- a/src/tools/android/java/com/google/devtools/build/android/ManifestMergerAction.java
+++ b/src/tools/android/java/com/google/devtools/build/android/ManifestMergerAction.java
@@ -221,7 +221,9 @@
if (manifest == null) {
// No primary manifest was passed. Generate a dummy primary.
- manifest = AndroidManifest.asEmpty().writeDummyManifestForAapt(tmp, options.customPackage);
+ String minSdk = options.manifestValues.getOrDefault("minSdkVersion", "1");
+ manifest =
+ AndroidManifest.of("", minSdk).writeDummyManifestForAapt(tmp, options.customPackage);
}
mergedManifest =