-
Notifications
You must be signed in to change notification settings - Fork 614
Messaging fails build with latest 29.2.0 release, 29.1.0 is fine [solved, 29.2.1 works] #3526
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight. |
Hi @mikehardy, thanks for reporting. I was able to reproduce the same issue, I'll notify an engineer to see what we can do here. |
For what it's worth, I investigated adding the The only way the workaround works is in the final app's build.gradle verified by temporarily adding it in our e2e test harness here as a temporary (un-committed) check. So this is a blocker for react-native-firebase to adopt new firebase-android-sdk BoMs |
NOTE this does not work yet, see firebase/firebase-android-sdk#3526
Not sure how this ended up as a release version, since it's breaking basically any Android build in the known galaxy that tries to use BoM 29.2.0. Also, |
FYI here are the new dependencies that have been added with this BoM, which adds 2MB of dex in our APK.
|
@VinayGuthal Since you have the most context on FCM, can you take a look at this issue? |
Just an update, VinayGuthal has created a PR at #3533. |
Wonderful @argzdev I just took a look, given what I know of native android and gradle (a fair bit, but...software can surprise you) that looks like a good fix. I'll give the 29.2.1 BoM a test when it's out |
com.google.firebase:firebase-messaging-ktx:23.0.1
|
@AlexeyGodyaev that looks like the same report of the original issue. I believe there is a pull request already merged to fix it and we are just waiting on release now. In fact, that brings up the question - @VinayGuthal / @argzdev - I understand release time lines are fluid, and setting expectations is dangerous so please know I understand anything you say could move a bunch, but do you have an idea for release on this? (like "a few days", "a week or two", "next month" etc) :-), thanks |
29.2.1 builds without the unexpected transitive dependencies. I appear to be unable to connect to the firebase emulator suite for auth with 29.2.1, but that's obviously separate. I'll do what I can to triage and post up a reproducible issue if I can prove it's not something we're doing in react-native-firebase. Cheers for this fix! |
[READ] Step 1: Are you in the right place?
This is the right place
[REQUIRED] Step 2: Describe your environment
[REQUIRED] Step 3: Describe the problem
For some reason the messaging component in BoM 29.2.0 leaks in httpcomponents transitive dependencies which have an APK packaging issue with regard to multiple
META-INF/DEPENDENCIES
files. It looks like it has been a known issue historically as there is an attempt in your build.gradle to exclude them. For some reason that isn't working on 29.2.0, even though it works on 29.1.0 (you can switch between the two BoMs in your messaging quickstart to witness success v failure)Steps to reproduce:
This is me showing you the reproduction using your quickstart-android repository, cloned just now with a visible diff so you can see the changes required to reproduce:
Relevant Code:
Your quickstart helpfully provides the relevant code to reproduce, see above.
It's very strange to me that this dependency is creeping in. I did
./gradlew :app:dependencies
on BoM 29.1.0 and 29.2.0 and diffed them, and sure enough it comes in on 29.2.0 only, here's a relevant chunk of that diff:Adding:
exclude 'META-INF/DEPENDENCIES'
to
packagingOptions
inbuild.gradle
works around the issue, but it's a regression causing a build failure on update from BoM 29.1.0 to 29.2.0. What changed 🤔The text was updated successfully, but these errors were encountered: