external_updater developer documentation

The documentation on this page is for developers of external_updater. If you're looking for user documentation, see the README.md.

Development environment

Development of external_updater requires a full checkout of the main branch of AOSP, and a lunched target (any target). See Get started with Android Development for a guide on setting up an AOSP build environment.

Note: This project uses Python 3.11.

Not all the Python tools used here are available in AOSP. For managing those, we recommend using Poetry. To install the necessary Python dependencies:

$ poetry install

Development tasks

The easiest way to activate the virtual environment is to create a nested shell with:

$ poetry shell

poetry shell will activate the virtual environment by creating a nested shell. To deactivate this virtual environment simply use deactivate or exit.

Poetry provides a run command to execute the given command inside the project's virtual environment. As an example, execute the following command to run Mypy on base_updater.py:

$ poetry run mypy base_updater.py