Support privleged app in APEX
privileged apps are installed to priv-app dir in APEX
Test: m
Change-Id: I8141e1c20e9486655606fa43b949783f11da09f4
diff --git a/apex/apex.go b/apex/apex.go
index 9382c19..96f4b5f 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -975,7 +975,11 @@
}
func getCopyManifestForAndroidApp(app *java.AndroidApp, pkgName string) (fileToCopy android.Path, dirInApex string) {
- dirInApex = filepath.Join("app", pkgName)
+ appDir := "app"
+ if app.Privileged() {
+ appDir = "priv-app"
+ }
+ dirInApex = filepath.Join(appDir, pkgName)
fileToCopy = app.OutputFile()
return
}
diff --git a/apex/apex_test.go b/apex/apex_test.go
index a420c14..cf38caa 100644
--- a/apex/apex_test.go
+++ b/apex/apex_test.go
@@ -2404,6 +2404,7 @@
key: "myapex.key",
apps: [
"AppFoo",
+ "AppFooPriv",
],
}
@@ -2419,6 +2420,14 @@
sdk_version: "none",
system_modules: "none",
}
+
+ android_app {
+ name: "AppFooPriv",
+ srcs: ["foo/bar/MyClass.java"],
+ sdk_version: "none",
+ system_modules: "none",
+ privileged: true,
+ }
`)
module := ctx.ModuleForTests("myapex", "android_common_myapex")
@@ -2426,6 +2435,7 @@
copyCmds := apexRule.Args["copy_commands"]
ensureContains(t, copyCmds, "image.apex/app/AppFoo/AppFoo.apk")
+ ensureContains(t, copyCmds, "image.apex/priv-app/AppFooPriv/AppFooPriv.apk")
}