akc3n perhaps this may give you a better overview of what's involved https://grapheneos.org/build (check the sections towards the end) and where to go next
that's the first thing I've looked at :)
akc3n Unlikely (electron...?).
Maybe Vim/neovim, IntelliJ, Android Studio...
I've found vscode to be universal (for example, in terms of quick search across a huge code database of different subprojects - apps, system frameworks, all in different programming languages), but I suppose devs are mostly using what they prefer personally, like Android Studio for the UI apps, etc?
What is inconvenient - a very large build time (It takes me 20-30 minutes to get a very simple change over to the device).
After doing a change to the code, I am doing the following:
# compile into an installation image
source build/envsetup.sh
lunch panther-cur-user
m vendorbootimage vendorkernelbootimage target-files-package
m otatoools-package
script/finalize.sh
script/generate-release.sh panther $BUILD_NUMBER
#then install
# reboot the phone holding the volume button (bootloader is already unlocked)
cd release/release-panther-$BUILD_NUMBER
bsdtar xvc panther-install-$BUILD_NUMBER.zip
cd panther-install-$BUILD_NUMBER
bash flash_all.sh
then I can actually see the changes I made in the system (after going through standard "Android initial setup wizard").
A few questions though:
- I suppose it is better to use the idea of incremental updates rather than generating a full image every time, as it may speed up at least the phone flashing part?
- Am I doing other unnecessary steps, or is this a typical workflow during development?
- I had to install Arch Linux on Mac, which makes using it quite painful :). I understand that building AOSP on macOS is not officially supported, but given that macOS is a unix-based system with most (if not all) tools available via homebrew, are there some critical tools still missing on it that makes is impractical to do the development/building on macOS?