Merge "Replace version 0 with the default version"
diff --git a/apex/builder.go b/apex/builder.go
index e3c4476..dda342f 100644
--- a/apex/builder.go
+++ b/apex/builder.go
@@ -93,6 +93,11 @@
 		Description: "strip ${in}=>${out}",
 	})
 
+	setVersionApexManifestRule = pctx.StaticRule("setVersionApexManifestRule", blueprint.RuleParams{
+		Command:     `sed 's/\"version\":\s*0\([^0-9]*\)$$/\"version\":\ ${default_version}\1/' $in > $out`,
+		Description: "Replace 'version: 0' with the correct version // ${in}=>${out}",
+	}, "default_version")
+
 	pbApexManifestRule = pctx.StaticRule("pbApexManifestRule", blueprint.RuleParams{
 		Command:     `rm -f $out && ${conv_apex_manifest} proto $in -o $out`,
 		CommandDeps: []string{"${conv_apex_manifest}"},
@@ -219,10 +224,20 @@
 		Output: manifestJsonCommentsStripped,
 	})
 
+	manifestJsonVersionChanged := android.PathForModuleOut(ctx, "apex_manifest_version_changed.json")
+	ctx.Build(pctx, android.BuildParams{
+		Rule:   setVersionApexManifestRule,
+		Input:  manifestJsonCommentsStripped,
+		Output: manifestJsonVersionChanged,
+		Args: map[string]string{
+			"default_version": defaultManifestVersion,
+		},
+	})
+
 	manifestJsonFullOut := android.PathForModuleOut(ctx, "apex_manifest_full.json")
 	ctx.Build(pctx, android.BuildParams{
 		Rule:   apexManifestRule,
-		Input:  manifestJsonCommentsStripped,
+		Input:  manifestJsonVersionChanged,
 		Output: manifestJsonFullOut,
 		Args: map[string]string{
 			"provideNativeLibs": strings.Join(provideNativeLibs, " "),