Port uses-shared library verification and dexpreopting to Soong

Ports 09f3b97f4b488cd3a7b7d72038b173575b02c162 (Add support for
preopt with uses-libraries) from Make to Soong to support verifying
and preopting shared libraries.

This reapplies Id25f55f07a55120bebe2a9b32c094209efc85c8b with fixes
for unbundled builds and builds with ALLOW_MISSING_DEPENDENCIES=true
set.

Bug: 132357300
Test: app_test.go
Test: m checkbuild
Change-Id: I964309a68ec4ed081f3f3154879c71048ecb5455
This commit is contained in:
Colin Cross
2019-05-16 12:28:22 -07:00
parent 7d06395f0c
commit 50ddcc4b69
12 changed files with 308 additions and 32 deletions

View File

@@ -63,7 +63,7 @@ var combineApk = pctx.AndroidStaticRule("combineApk",
})
func CreateAndSignAppPackage(ctx android.ModuleContext, outputFile android.WritablePath,
packageFile, jniJarFile, dexJarFile android.Path, certificates []Certificate) {
packageFile, jniJarFile, dexJarFile android.Path, certificates []Certificate, deps android.Paths) {
unsignedApkName := strings.TrimSuffix(outputFile.Base(), ".apk") + "-unsigned.apk"
unsignedApk := android.PathForModuleOut(ctx, unsignedApkName)
@@ -78,9 +78,10 @@ func CreateAndSignAppPackage(ctx android.ModuleContext, outputFile android.Writa
}
ctx.Build(pctx, android.BuildParams{
Rule: combineApk,
Inputs: inputs,
Output: unsignedApk,
Rule: combineApk,
Inputs: inputs,
Output: unsignedApk,
Implicits: deps,
})
SignAppPackage(ctx, outputFile, unsignedApk, certificates)