Android Platform Engineering
This article is a work in progress.
Apostrophy develops and maintains its operating system against a mixture of the following upstream organizations and projects:
- the Android Open Source Project (AOSP)
- Original Device Manufacturer (ODM) Board Support Packages (BSP)
- Independent Development Houses (IDH)
- Original Equipment Manufacturer (OEM) Software
- GrapheneOS (Graphene)
- various third-party Free Software packages
- in-house platform and software projects
The ODM, IDH and their BSP are largely considered one set of packages colloquially referred to as "the BSP".
Mobile Device Requirements
How many devices does each of the development community need?
Platform Engineers
This is an overview of the number of devices needed by platform developers.
No. | Purpose |
---|---|
1 | Daily driver for personal use (production) |
2 | Customer support (production) for the reproduction of customer issues |
3 | Customer support (next), for validation testing of upcoming releases |
.n. | n devices for the purposes of topic development and validation testing |
System Package Development
Most sytem packages can be developed independent from platform engineering, such that a build could be created without the system package included, and the package in development could then be side- loaded.
Notable exceptions include Aphy Launcher, Aphy Setup Wizard, and more.
As such, system package developers may only need 2 devices;
No. | Purpose |
---|---|
1 | Daily driver for personal use (production) |
2 | System package development |
Customer Support
This is an overview of the number of devices needed by support personnel. While some are optional, they can also be temporarily repurposed for things like demonstration, documentation, etc.
No. | Purpose |
---|---|
1 | Daily driver for personal use (production) |
2 | Customer support (production) for the reproduction of customer issues |
3 | Customer support (next), for validation testing of upcoming releases |
4 | Quality Assurance (development/experimental) for acceptance testing and quality assurance) |