atsushieno / aap-core

an Audio Plugin Format/Framework for Android
MIT License
92 stars 3 forks source link

meta: tackle all those Gradle/AGP bugs and annoyances #193

Open atsushieno opened 9 months ago

atsushieno commented 9 months ago

Currently the biggest problem that has been blocking AAP development most is Gradle and AGP, and since their problems.

(1) Under some condition, AGP fails to expand Prefab package content native libraries and dependent modules fail to build at externalNativeBuild due to lack of necessary -l xxx arguments (they are missing at arguments level, meaning that Prefab extraction did not happen in timely manner or it is not extracted at all). This can be workarounded by git clean -xdf within aap-core (or aap-lv2-xxx apps or aap-juce-xxx apps or whatever), which is of course super annoying as it prevents normal development cycle.

Clean builds pass as they do on GitHub Actions, but it is the reason why we cannot build external/aap-core in aap-lv2 or any aap-lv2 projects (same goes for aap-juce) in their Makefile (along with (2) it is seem as trivial issue).

(2) #174: this is the second most annoying one. Out AAR distribution is not useful because those modules that were built as part of the app project are the only working ones. It forces us to mess build scripts, especially those with Projucer became almost impossible to build (needs some build script tweaks).

This is the primary reason why we cannot release v0.8.0.

(3) Android Studio fails to update native libraries when debugging unless "Always install with package manager" option is enabled at its configuration option (at "Installation Options"). It may be Android Studio specific issue and not Gradle related issue though.

What we need is some build related Troubleshooting wiki page that specifically targets these Gradle problems.

atsushieno commented 9 months ago

(2) is finally fixed, and it had nothing to do with AGP (well, it has a lot, but AGP itself was not the cause).