Coming from the Linux world, I'm horrified by how Android development is structured. Each ROM is a "big" project, with its specifications.
And it's basically impossible to "merge" features from different ROMS without building a whole Android rom, for noobs and non-dev users (like me until little time ago).
Linux distros use a package manager and each part of the OS is a package, with its own Git history and its own devs, and you can easily replace a package with another (but with better features, more up-to-date, etc). The package manager asks a distant repository which packages are available to install and if another package is in conflict or required (i.e Wayland backend is required for some features).
Using a package manager allows to :
To be fair I don't understand why Google does not already uses a package manager in Android as it would just destroy the android versions fragmentation.
Some very good package managers already exist in the wild, the best I know is Pacman (Arch Linux, also used as a MSWindows package manager), (with makepkg to locally build packages).
Right now I'm waiting for the initial Android checkout to finish then I'll see how that's possible. But I'm no Android dev so if anyone likes the idea, that'd be great.
Salamandar
And it's basically impossible to "merge" features from different ROMS without building a whole Android rom, for noobs and non-dev users (like me until little time ago).
Linux distros use a package manager and each part of the OS is a package, with its own Git history and its own devs, and you can easily replace a package with another (but with better features, more up-to-date, etc). The package manager asks a distant repository which packages are available to install and if another package is in conflict or required (i.e Wayland backend is required for some features).
Using a package manager allows to :
- Separate the development of each feature of a ROM
- Simplify the integration in a rom of a feature
- Simplify the merge of ROMS by users (maybe even install packages while Android is running ?)
- Have less fragmentation in the Android ROM features
- Faster ROM dev
- Any feature developper can provide a package without having its own ROM
- Less "i've merged this and that rom" ROMs
- Probably easier installation of things like XPosed (no uninstall zip)
To be fair I don't understand why Google does not already uses a package manager in Android as it would just destroy the android versions fragmentation.
Some very good package managers already exist in the wild, the best I know is Pacman (Arch Linux, also used as a MSWindows package manager), (with makepkg to locally build packages).
Right now I'm waiting for the initial Android checkout to finish then I'll see how that's possible. But I'm no Android dev so if anyone likes the idea, that'd be great.
Salamandar