Fixed
Status Update
Comments
xa...@google.com <xa...@google.com> #2
I don't think the average developer understands the distinction between method references and method definitions in this context (inside a DEX file). I know I don't.
@jvg, can you elaborate?
xa...@google.com <xa...@google.com>
an...@google.com <an...@google.com> #3
people who are looking at the bytecode in the dex to optimize their app through shrinking hopefully will learn the difference as string tables for method references between various dex files can account for quite a bit of disk space. but more importantly a definition is something you can analyze its code for where a reference you can't so the UI can be confusing without seeing the difference
Description
Using latest Ladybug patch 1 on Mac OSX arm64, I checked out the Jetcaster project (https://github.com/android/compose-samples/tree/main ), and after syncing, I pressed Cmd-F9 to build the project.
It fails with the following error:
Note that this build error has no error location associated with it. From looking at the error panel tab (see screenshot) I can guess that it's related to the core/domain/ module. But it should be telling me more information -- which dependencies are bringing in the two versions. And ideally the error message should tell me more specifically how to avoid it. If the two files are identical (which I suspect they are, given that the path has the version number in it) I'm assuming this is just a matter of telling it to use one / skip one.
But the link we're pointing to in the error message, "https://developer.android.com/reference/tools/gradle-api/8.7/com/android/build/api/dsl/Packaging
for more information" isn't really helpful -- it's just the javadoc for the DSL API! I would have hoped for more dedicated information on how to resolve a conflict like this.