Merge "Set targetSdkVersion in manifest_fixer"
This commit is contained in:
@@ -67,6 +67,7 @@ type aapt struct {
|
||||
rroDirs android.Paths
|
||||
rTxt android.Path
|
||||
extraAaptPackagesFile android.Path
|
||||
isLibrary bool
|
||||
|
||||
aaptProperties aaptProperties
|
||||
}
|
||||
@@ -167,13 +168,16 @@ func (a *aapt) buildActions(ctx android.ModuleContext, sdkContext sdkContext, ex
|
||||
manifestFile := proptools.StringDefault(a.aaptProperties.Manifest, "AndroidManifest.xml")
|
||||
manifestSrcPath := android.PathForModuleSrc(ctx, manifestFile)
|
||||
|
||||
manifestPath := manifestMerger(ctx, manifestSrcPath, sdkContext, staticLibManifests)
|
||||
manifestPath := manifestMerger(ctx, manifestSrcPath, sdkContext, staticLibManifests, a.isLibrary)
|
||||
|
||||
linkFlags, linkDeps, resDirs, overlayDirs, rroDirs := a.aapt2Flags(ctx, sdkContext, manifestPath)
|
||||
|
||||
linkFlags = append(linkFlags, libFlags...)
|
||||
linkDeps = append(linkDeps, libDeps...)
|
||||
linkFlags = append(linkFlags, extraLinkFlags...)
|
||||
if a.isLibrary {
|
||||
linkFlags = append(linkFlags, "--static-lib")
|
||||
}
|
||||
|
||||
packageRes := android.PathForModuleOut(ctx, "package-res.apk")
|
||||
srcJar := android.PathForModuleGen(ctx, "R.jar")
|
||||
@@ -286,7 +290,8 @@ func (a *AndroidLibrary) DepsMutator(ctx android.BottomUpMutatorContext) {
|
||||
}
|
||||
|
||||
func (a *AndroidLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
a.aapt.buildActions(ctx, sdkContext(a), "--static-lib")
|
||||
a.isLibrary = true
|
||||
a.aapt.buildActions(ctx, sdkContext(a))
|
||||
|
||||
ctx.CheckbuildFile(a.proguardOptionsFile)
|
||||
ctx.CheckbuildFile(a.exportPackage)
|
||||
|
@@ -16,6 +16,7 @@ package java
|
||||
|
||||
import (
|
||||
"android/soong/java/config"
|
||||
"strings"
|
||||
|
||||
"github.com/google/blueprint"
|
||||
|
||||
@@ -24,10 +25,10 @@ import (
|
||||
|
||||
var manifestFixerRule = pctx.AndroidStaticRule("manifestFixer",
|
||||
blueprint.RuleParams{
|
||||
Command: `${config.ManifestFixerCmd} --minSdkVersion ${minSdkVersion} $usesLibraries $in $out`,
|
||||
Command: `${config.ManifestFixerCmd} --minSdkVersion ${minSdkVersion} $args $in $out`,
|
||||
CommandDeps: []string{"${config.ManifestFixerCmd}"},
|
||||
},
|
||||
"minSdkVersion", "usesLibraries")
|
||||
"minSdkVersion", "args")
|
||||
|
||||
var manifestMergerRule = pctx.AndroidStaticRule("manifestMerger",
|
||||
blueprint.RuleParams{
|
||||
@@ -38,7 +39,12 @@ var manifestMergerRule = pctx.AndroidStaticRule("manifestMerger",
|
||||
"libs")
|
||||
|
||||
func manifestMerger(ctx android.ModuleContext, manifest android.Path, sdkContext sdkContext,
|
||||
staticLibManifests android.Paths) android.Path {
|
||||
staticLibManifests android.Paths, isLibrary bool) android.Path {
|
||||
|
||||
var args []string
|
||||
if isLibrary {
|
||||
args = append(args, "--library")
|
||||
}
|
||||
|
||||
// Inject minSdkVersion into the manifest
|
||||
fixedManifest := android.PathForModuleOut(ctx, "manifest_fixer", "AndroidManifest.xml")
|
||||
@@ -48,6 +54,7 @@ func manifestMerger(ctx android.ModuleContext, manifest android.Path, sdkContext
|
||||
Output: fixedManifest,
|
||||
Args: map[string]string{
|
||||
"minSdkVersion": sdkVersionOrDefault(ctx, sdkContext.minSdkVersion()),
|
||||
"args": strings.Join(args, " "),
|
||||
},
|
||||
})
|
||||
manifest = fixedManifest
|
||||
|
Reference in New Issue
Block a user