diff options
| author | 2018-07-26 22:02:36 +0000 | |
|---|---|---|
| committer | 2018-07-26 22:02:36 +0000 | |
| commit | 4ac2db24ebc267cf22ea1a47ccff9c7788da78e3 (patch) | |
| tree | d8b1dcdd16b1f901a5766b3c853469e57aface17 /java | |
| parent | 667f688f361ed732d4209cc38e73335425cd2e2c (diff) | |
| parent | 1b6a3cfea4ac2a3a82f4b384b1dd526af0f32c12 (diff) | |
Merge "Set targetSdkVersion in manifest_fixer"
Diffstat (limited to 'java')
| -rw-r--r-- | java/aar.go | 9 | ||||
| -rw-r--r-- | java/android_manifest.go | 13 |
2 files changed, 17 insertions, 5 deletions
diff --git a/java/aar.go b/java/aar.go index 0cfc585e8..de67da612 100644 --- a/java/aar.go +++ b/java/aar.go @@ -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) diff --git a/java/android_manifest.go b/java/android_manifest.go index 8fcdcbac1..77b6214e1 100644 --- a/java/android_manifest.go +++ b/java/android_manifest.go @@ -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 |