Allow building framework.jar and framework-res.apk
Update app support enough to build framework-res.apk, link
framework.jar against its generated files, and export it to
make.
Bug: 69917341
Test: m checkbuild tests docs
Change-Id: I7db29cd1f5fabb22e844483ecc7c38abfedbbe0a
diff --git a/java/app_builder.go b/java/app_builder.go
index 82574ae..676ed58 100644
--- a/java/app_builder.go
+++ b/java/app_builder.go
@@ -29,8 +29,9 @@
var (
signapk = pctx.AndroidStaticRule("signapk",
blueprint.RuleParams{
- Command: `java -jar $signapkCmd $certificates $in $out`,
- CommandDeps: []string{"$signapkCmd"},
+ Command: `${config.JavaCmd} -Djava.library.path=$$(dirname $signapkJniLibrary) ` +
+ `-jar $signapkCmd $certificates $in $out`,
+ CommandDeps: []string{"$signapkCmd", "$signapkJniLibrary"},
},
"certificates")
@@ -48,6 +49,9 @@
pctx.SourcePathVariable("androidManifestMergerCmd", "prebuilts/devtools/tools/lib/manifest-merger.jar")
pctx.HostBinToolVariable("aaptCmd", "aapt")
pctx.HostJavaToolVariable("signapkCmd", "signapk.jar")
+ // TODO(ccross): this should come from the signapk dependencies, but we don't have any way
+ // to express host JNI dependencies yet.
+ pctx.HostJNIToolVariable("signapkJniLibrary", "libconscrypt_openjdk_jni")
}
var combineApk = pctx.AndroidStaticRule("combineApk",
@@ -79,6 +83,9 @@
certificateArgs = append(certificateArgs, c+".x509.pem", c+".pk8")
}
+ // TODO(ccross): sometimes uncompress dex
+ // TODO(ccross): sometimes strip dex
+
ctx.Build(pctx, android.BuildParams{
Rule: signapk,
Description: "signapk",