Allow each APEX to provide its own AndroidManifest
AndroidManifest.xml file can be specified via the 'androidManifest' property in the apex module type. It can be used to have a custom AndroidManifest.xml that have additional tags (such as <uses-sdk> or <uses-feature>) for precise targeting. The property is optional; if unspecified, then one is auto-generated as before. Bug: 123857186 Test: m apex_test_build_features Change-Id: Id7ee0471661887cfa11124cbaa3beea8cffcdda4
This commit is contained in:
parent
ad0328deb8
commit
40e26a2a99
1 changed files with 10 additions and 0 deletions
10
apex/apex.go
10
apex/apex.go
|
@ -212,6 +212,10 @@ type apexBundleProperties struct {
|
|||
// "apex_manifest.json"
|
||||
Manifest *string
|
||||
|
||||
// AndroidManifest.xml file used for the zip container of this APEX bundle.
|
||||
// If unspecified, a default one is automatically generated.
|
||||
AndroidManifest *string
|
||||
|
||||
// Determines the file contexts file for setting security context to each file in this APEX bundle.
|
||||
// Specifically, when this is set to <value>, /system/sepolicy/apex/<value>_file_contexts file is
|
||||
// used.
|
||||
|
@ -901,6 +905,12 @@ func (a *apexBundle) buildUnflattenedApex(ctx android.ModuleContext, keyFile and
|
|||
optFlags = append(optFlags, "--override_apk_package_name "+manifestPackageName)
|
||||
}
|
||||
|
||||
if a.properties.AndroidManifest != nil {
|
||||
androidManifestFile := android.PathForModuleSrc(ctx, proptools.String(a.properties.AndroidManifest))
|
||||
implicitInputs = append(implicitInputs, androidManifestFile)
|
||||
optFlags = append(optFlags, "--android_manifest "+androidManifestFile.String())
|
||||
}
|
||||
|
||||
ctx.Build(pctx, android.BuildParams{
|
||||
Rule: apexRule,
|
||||
Implicits: implicitInputs,
|
||||
|
|
Loading…
Reference in a new issue