summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/CtsShim/Android.mk1
-rw-r--r--packages/CtsShim/build/Android.mk24
-rw-r--r--packages/CtsShim/build/README29
3 files changed, 25 insertions, 29 deletions
diff --git a/packages/CtsShim/Android.mk b/packages/CtsShim/Android.mk
index cd5b288617d8..fa6423ecb8c7 100644
--- a/packages/CtsShim/Android.mk
+++ b/packages/CtsShim/Android.mk
@@ -53,3 +53,4 @@ LOCAL_SRC_FILES := CtsShim.apk
include $(BUILD_PREBUILT)
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/packages/CtsShim/build/Android.mk b/packages/CtsShim/build/Android.mk
index b550c1c253f3..bf6ae4151dae 100644
--- a/packages/CtsShim/build/Android.mk
+++ b/packages/CtsShim/build/Android.mk
@@ -17,7 +17,7 @@
LOCAL_PATH := $(my-dir)
###########################################################
-# Variant: Privileged app
+# Variant: Privileged app upgrade
include $(CLEAR_VARS)
# this needs to be a privileged application
@@ -28,15 +28,15 @@ LOCAL_SDK_VERSION := current
LOCAL_PROGUARD_ENABLED := disabled
LOCAL_DEX_PREOPT := false
-LOCAL_PACKAGE_NAME := CtsShimPriv
+LOCAL_PACKAGE_NAME := CtsShimPrivUpgrade
-LOCAL_MANIFEST_FILE := shim_priv/AndroidManifest.xml
+LOCAL_MANIFEST_FILE := shim_priv_upgrade/AndroidManifest.xml
include $(BUILD_PACKAGE)
-
+my_shim_priv_upgrade_apk := $(LOCAL_BUILT_MODULE)
###########################################################
-# Variant: Privileged app upgrade
+# Variant: Privileged app
include $(CLEAR_VARS)
# this needs to be a privileged application
@@ -47,12 +47,20 @@ LOCAL_SDK_VERSION := current
LOCAL_PROGUARD_ENABLED := disabled
LOCAL_DEX_PREOPT := false
-LOCAL_PACKAGE_NAME := CtsShimPrivUpgrade
+LOCAL_PACKAGE_NAME := CtsShimPriv
-LOCAL_MANIFEST_FILE := shim_priv_upgrade/AndroidManifest.xml
+# Generate the upgrade key by taking the hash of the built CtsShimPrivUpgrade apk
+gen := $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),,true)/AndroidManifest.xml
+$(gen): PRIVATE_CUSTOM_TOOL = sed -e "s/__HASH__/`sha512sum $(PRIVATE_INPUT_APK) | cut -d' ' -f1`/" $< >$@
+$(gen): PRIVATE_INPUT_APK := $(my_shim_priv_upgrade_apk)
+$(gen): $(LOCAL_PATH)/shim_priv/AndroidManifest.xml $(my_shim_priv_upgrade_apk)
+ $(transform-generated-source)
-include $(BUILD_PACKAGE)
+my_shim_priv_upgrade_apk :=
+
+LOCAL_FULL_MANIFEST_FILE := $(gen)
+include $(BUILD_PACKAGE)
###########################################################
# Variant: System app
diff --git a/packages/CtsShim/build/README b/packages/CtsShim/build/README
index 1f154e1d70b0..333b87c8cb9d 100644
--- a/packages/CtsShim/build/README
+++ b/packages/CtsShim/build/README
@@ -6,31 +6,18 @@ must specify the singular APK that can be used to upgrade it.
NOTE: The need to include a binary on the system image may be deprecated if a
solution involving a temporarily writable /system partition is implemented.
-MAKING THE PREBUILTS
-In order to generate the upgrade key, the shim directory needs to be built multiple
-times. First to generate the upgrade APK [so its hash can be obtained] and again
-once the hash has been included as part of the pre-installed APK.
-
build:
- $ mmm frameworks/base/packages/CtsShim/build
-
-update the manifest:
- $ sed -i -e "s/__HASH__/`sha512sum out/target/product/shamu/system/priv-app/CtsShimPrivUpgrade/CtsShimPrivUpgrade.apk | cut -d' ' -f1`/" \
- frameworks/base/packages/CtsShim/build/shim_priv/AndroidManifest.xml
+ $ tapas CtsShim CtsShimPriv CtsShimPrivUpgrade
+ $ m
-build:
- $ mmm frameworks/base/packages/CtsShim/build
-
-update prebuilts:
- $ cp out/target/product/shamu/system/priv-app/CtsShimPrivUpgrade/CtsShimPrivUpgrade.apk \
+local testing:
+ $ cp $OUT/system/priv-app/CtsShimPrivUpgrade/CtsShimPrivUpgrade.apk \
cts/hostsidetests/appsecurity/test-apps/PrivilegedUpdateApp
- $ cp out/target/product/shamu/system/priv-app/CtsShimPriv/CtsShimPriv.apk \
+ $ cp $OUT/system/priv-app/CtsShimPriv/CtsShimPriv.apk \
frameworks/base/packages/CtsShim
- $ cp out/target/product/shamu/system/app/CtsShim/CtsShim.apk \
+ $ cp $OUT/system/app/CtsShim/CtsShim.apk \
frameworks/base/packages/CtsShim
-revert manifest:
- $ pushd frameworks/base && git checkout -- packages/CtsShim/build/shim_priv/AndroidManifest.xml && popd
-
-Finally, upload and submit both the cts/ and frameworks/base/ repos.
+For final submission, the APKs should be downloaded from the build server, then
+submitted to the cts/ and frameworks/base/ repos.