You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
2.0 KiB
56 lines
2.0 KiB
# Cts Shim Apex
|
|
|
|
## Overview
|
|
|
|
A shim apex is an apex that doesn't provide any functionality as it's sole
|
|
purpose is to enable CTS testing of APEX-related APIs.
|
|
|
|
A cts shim apex has following restrictions:
|
|
|
|
* Its name is equal to `com.android.apex.cts.shim`
|
|
* It is signed with a throw-away key.
|
|
* First version (i.e. `com.android.apex.cts.shim.apex`) should be
|
|
pre-installed on the /system/partition.
|
|
* `apex_payload.img` of the pre-installed shim apexcontains a single text
|
|
file called `hash.txt` with a list of allowed SHA512 hashes of versions shim
|
|
apex can be upgraded to.
|
|
* `apex_payload.img` of all other versions contains SHA512 hash of
|
|
`/dev/null`.
|
|
|
|
|
|
## Building shim apexes
|
|
|
|
Modules to build shim apexes are defined in the
|
|
system/apex/shim/build/Android.bp blueprint file.
|
|
|
|
To build shim apexes simply run
|
|
|
|
```
|
|
m com.android.apex.cts.shim.v3 \
|
|
com.android.apex.cts.shim.v2 \
|
|
com.android.apex.cts.shim.v2_additional_file \
|
|
com.android.apex.cts.shim.v2_additional_folder \
|
|
com.android.apex.cts.shim.v2_different_certificate \
|
|
com.android.apex.cts.shim.v2_different_package_name \
|
|
com.android.apex.cts.shim.v2_with_pre_install_hook \
|
|
com.android.apex.cts.shim.v2_with_post_install_hook \
|
|
com.android.apex.cts.shim.v2_wrong_sha \
|
|
com.android.apex.cts.shim.v1 \
|
|
com.android.apex.cts.shim_not_pre_installed \
|
|
```
|
|
|
|
Generated apexes will be located in the following folders.
|
|
|
|
* out/target/product/${DEVICE}/obj/ETC/com.android.apex.cts.shim.v1_intermediates/com.android.apex.cts.shim.v1.apex
|
|
* out/target/product/${DEVICE}/obj/ETC/com.android.apex.cts.shim.v2_intermediates/com.android.apex.cts.shim.v2.apex
|
|
* out/target/product/${DEVICE}/obj/ETC/com.android.apex.cts.shim.v2_wrong_sha_intermediates/com.android.apex.cts.shim.v2_wrong_sha.apex
|
|
* etc.
|
|
|
|
## Updating shim apexes
|
|
|
|
Shim apex files should be built on a build server and then downloaded from it
|
|
into following directories:
|
|
|
|
* system/apex/shim
|
|
* cts/hostsidetests/stagedinstall/testdata/apex
|