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