The Android gradle build system allows a library project to reference a local AAR for compilation, but it won't merge the local AAR's classes, "AndroidManifest.xml", assets, or "res" files into the library project's built AAR. This is intentional on Google's end. The build system will only merge all of the AAR files' content into an app project.
Because of the above, a native module referencing local AAR files will crash at runtime when built with Titanium 9.0.0 and gradle. It will compile fine, but the classes in the AARs will not be included in the module; nor the app.
When building a native Android module with Titanium, the CLI should trigger a build failure if the module's "lib" directory contains any AAR files and should tell the developer to reference AAR libraries via the "build.gradle" file instead.
This is a breaking-change. But by doing this, we force module developers to reference dependencies the gradle/maven way, which will solve library version conflict issues between modules.