1
2The CTS shim is a package that resides on a device's /system partition in order
3to verify certain upgrade scenarios. Not only must it not contain code, but, it
4must specify the singular APK that can be used to upgrade it.
5
6NOTE: The need to include a binary on the system image may be deprecated if a
7solution involving a temporarily writable /system partition is implemented.
8
9For local testing, build the apk and put them in the following folders.
10This is for arm:
11    $ tapas CtsShim CtsShimPriv CtsShimPrivUpgrade CtsShimPrivUpgradeWrongSHA arm64
12    $ m
13    $ cp $OUT/system/priv-app/CtsShimPrivUpgrade/CtsShimPrivUpgrade.apk \
14        cts/hostsidetests/appsecurity/test-apps/PrivilegedUpdateApp/apk/arm
15    $ cp $OUT/system/priv-app/CtsShimPrivUpgrade/CtsShimPrivUpgrade.apk \
16        vendor/xts/gts-tests/hostsidetests/packagemanager/app/apk/arm/GtsShimPrivUpgrade.apk
17    $ cp $OUT/system/priv-app/CtsShimPrivUpgradeWrongSHA/CtsShimPrivUpgradeWrongSHA.apk \
18        cts/hostsidetests/appsecurity/test-apps/PrivilegedUpdateApp/apk/arm
19    $ cp $OUT/system/priv-app/CtsShimPriv/CtsShimPriv.apk \
20        frameworks/base/packages/CtsShim/apk/arm
21    $ cp $OUT/system/app/CtsShim/CtsShim.apk \
22        frameworks/base/packages/CtsShim/apk/arm
23
24This is for x86:
25    $ tapas CtsShim CtsShimPriv CtsShimPrivUpgrade CtsShimPrivUpgradeWrongSHA x86_64
26    $ m
27    $ cp $OUT/system/priv-app/CtsShimPrivUpgrade/CtsShimPrivUpgrade.apk \
28        cts/hostsidetests/appsecurity/test-apps/PrivilegedUpdateApp/apk/x86
29    $ cp $OUT/system/priv-app/CtsShimPrivUpgrade/CtsShimPrivUpgrade.apk \
30        vendor/xts/gts-tests/hostsidetests/packagemanager/app/apk/x86/GtsShimPrivUpgrade.apk
31    $ cp $OUT/system/priv-app/CtsShimPrivUpgradeWrongSHA/CtsShimPrivUpgradeWrongSHA.apk \
32        cts/hostsidetests/appsecurity/test-apps/PrivilegedUpdateApp/apk/x86
33    $ cp $OUT/system/priv-app/CtsShimPriv/CtsShimPriv.apk \
34        frameworks/base/packages/CtsShim/apk/x86
35    $ cp $OUT/system/app/CtsShim/CtsShim.apk \
36        frameworks/base/packages/CtsShim/apk/x86
37
38For final submission, the APKs should be downloaded from the build server, then
39submitted to the cts/ and frameworks/base/ repos.
40
41