diff options
author | Jiyong Park <jiyong@google.com> | 2018-10-30 21:20:05 +0900 |
---|---|---|
committer | Jiyong Park <jiyong@google.com> | 2018-10-31 10:13:54 +0900 |
commit | c00cbd9e7b7fea712894aa361b3a8bce47e7c397 (patch) | |
tree | a9aab1d9ee1264abb40bd13351d3eaab5c5f28ec /java/app.go | |
parent | a758cda418627f1b13efa9bd70a3f844d9552b18 (diff) | |
download | android_build_soong-c00cbd9e7b7fea712894aa361b3a8bce47e7c397.tar.gz android_build_soong-c00cbd9e7b7fea712894aa361b3a8bce47e7c397.tar.bz2 android_build_soong-c00cbd9e7b7fea712894aa361b3a8bce47e7c397.zip |
APEXs are signed with apk signer
The entire APEX (which is a zip file) is signed with the apk signer.
Certificate can be specified via the 'certificate' property just like
ordinary apps. Note: multiple additional certificates are not supported.
Bug: 115721587
Test: m apex.test
Test: jarsigner -verify -verbose -certs .../apex.test.apex shows the
certificate info
Change-Id: Ia4c898d3427779a3809fdc683b85d7661ca65137
Diffstat (limited to 'java/app.go')
-rw-r--r-- | java/app.go | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/java/app.go b/java/app.go index db6c15ce..7ca20cee 100644 --- a/java/app.go +++ b/java/app.go @@ -76,7 +76,7 @@ type AndroidApp struct { Library aapt - certificate certificate + certificate Certificate appProperties appProperties @@ -99,8 +99,8 @@ func (a *AndroidApp) ExportedManifest() android.Path { var _ AndroidLibraryDependency = (*AndroidApp)(nil) -type certificate struct { - pem, key android.Path +type Certificate struct { + Pem, Key android.Path } func (a *AndroidApp) DepsMutator(ctx android.BottomUpMutatorContext) { @@ -237,7 +237,7 @@ func (a *AndroidApp) generateAndroidBuildActions(ctx android.ModuleContext) { dexJarFile = nil } - var certificates []certificate + var certificates []Certificate var jniJarFile android.WritablePath jniLibs, certificateDeps := a.collectAppDeps(ctx) @@ -262,16 +262,16 @@ func (a *AndroidApp) generateAndroidBuildActions(ctx android.ModuleContext) { certificateDeps = certificateDeps[1:] } else if cert != "" { defaultDir := ctx.Config().DefaultAppCertificateDir(ctx) - a.certificate = certificate{ + a.certificate = Certificate{ defaultDir.Join(ctx, cert+".x509.pem"), defaultDir.Join(ctx, cert+".pk8"), } } else { pem, key := ctx.Config().DefaultAppCertificate(ctx) - a.certificate = certificate{pem, key} + a.certificate = Certificate{pem, key} } - certificates = append([]certificate{a.certificate}, certificateDeps...) + certificates = append([]Certificate{a.certificate}, certificateDeps...) packageFile := android.PathForModuleOut(ctx, "package.apk") CreateAppPackage(ctx, packageFile, a.exportPackage, jniJarFile, dexJarFile, certificates) @@ -287,9 +287,9 @@ func (a *AndroidApp) generateAndroidBuildActions(ctx android.ModuleContext) { } } -func (a *AndroidApp) collectAppDeps(ctx android.ModuleContext) ([]jniLib, []certificate) { +func (a *AndroidApp) collectAppDeps(ctx android.ModuleContext) ([]jniLib, []Certificate) { var jniLibs []jniLib - var certificates []certificate + var certificates []Certificate ctx.VisitDirectDeps(func(module android.Module) { otherName := ctx.OtherModuleName(module) @@ -313,7 +313,7 @@ func (a *AndroidApp) collectAppDeps(ctx android.ModuleContext) ([]jniLib, []cert } } else if tag == certificateTag { if dep, ok := module.(*AndroidAppCertificate); ok { - certificates = append(certificates, dep.certificate) + certificates = append(certificates, dep.Certificate) } else { ctx.ModuleErrorf("certificate dependency %q must be an android_app_certificate module", otherName) } @@ -446,7 +446,7 @@ func AndroidTestHelperAppFactory() android.Module { type AndroidAppCertificate struct { android.ModuleBase properties AndroidAppCertificateProperties - certificate certificate + Certificate Certificate } type AndroidAppCertificateProperties struct { @@ -466,7 +466,7 @@ func (c *AndroidAppCertificate) DepsMutator(ctx android.BottomUpMutatorContext) func (c *AndroidAppCertificate) GenerateAndroidBuildActions(ctx android.ModuleContext) { cert := String(c.properties.Certificate) - c.certificate = certificate{ + c.Certificate = Certificate{ android.PathForModuleSrc(ctx, cert+".x509.pem"), android.PathForModuleSrc(ctx, cert+".pk8"), } |