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