Change theme
Help
Press space for more information.
Show links for this issue (Shortcut: i, l)
Copy issue ID
Previous Issue (Shortcut: k)
Next Issue (Shortcut: j)
Sign in to use full features.
Vote: I am impacted
Notification menu
Refresh (Shortcut: Shift+r)
Go home (Shortcut: u)
Pending code changes (auto-populated)
[ID: 558956]
View issue level access limits(Press Alt + Right arrow for more information)
Request for new functionality
View staffing
Description
AGP does not currently support Prefab's library exports field. These are needed when consumers of a module must link additional libraries. This is the case for any static library with its own library dependencies. This is not needed for shared libraries that link other libraries explicitly, because the ELF file already has that information.
AGP may not have the information needed to auto-fill this. In CMake these relationships are expressed with
target_link_libraries
:This relationship is definitely not exported by ndk-build except in unstructured debug output. We could potentially add a stable output format for expressing that information, but I think it's probably not worth the effort (if there's demand I'd gladly change my mind on that) and those dependencies can just be specified explicitly since that functionality is probably needed anyway (see next paragraph).
More exceptional cases will probably always need to be explicit. An example of this is exporting ld flags rather than libraries. It's a bit of a misuse of manipulating the output of AGP's task . That's obviously not ideal, and we should just add DSL for this. Something like (I might have syntax wrong, I'm bad at groovy):
external_libraries
but it's the only way to do it for now. An example of this is in junit-gtest where the library needs to export some-u
flags to force the linker to include symbols from the library that don't have direct references. They currently handle this by