-
Notifications
You must be signed in to change notification settings - Fork 428
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
crashlytics :Please verify the AAR which contains the com/google/firebase/crashlytics/internal/common/DataCollectionArbiter class is included in your app #758
Comments
I were also having this problem. Android resolver somehow automatically change the version in CrashlyticsDependencies.xml to the latest version which is troublesome. (I have check all *Dependencies.xml files and not a single file use .+ ) If you export to Android project, you can temporarily solve this by changing 'com.google.firebase.firebase-crashlytics-17.2.1' to 'com.google.firebase.firebase-crashlytics-17.1.1' in your Android project manifest and manually download version 17.1.1 aar from Maven: (https://mvnrepository.com/artifact/com.google.firebase/firebase-crashlytics/17.1.1) If you export to apk or aab, go to Assets/Plugins/Android to find and replace the aar. Do not run Android Resolver again. You may have to change these file to the correct version too: ProjectSettings/AndroidResolverDependencies.xml and CrashlyticsDependencies.xml UPDATE: You can simply solve this by downloading the old version and RENAME it to 17.2.1 then copy into Assets\Plugins\Android folder overwrite the real one. |
Can confirm this is happening for us as well. |
Hi all, first thanks @napbla pointing out a manual modification to get unblocked. I tried to repro the issue locally, and find out unity sdk 6.15.2 is pointing to com.google.firebase.firebase-crashlytics-17.0.0 in the CrashlyticsDependency.xml, and android resolver should only read from that info instead of modify that file. We'd like to understand if there's other 3rd party libraries used, and if can provide some environment for us to repro the issue, that will be really appreciated. |
@cynthiajoan For me it looks like the ironsource admob adapter changes the version when resolving Android dependencies: It's probably related to the ISAdMobAdapterDependency: com.google.android.gms:play-services-ads:19.3.0 |
@cynthiajoan for me this case happens when using firebase analytics,remote config,crashlytics + Facebook Audience Network https://developers.facebook.com/docs/audience-network/guides/adding-sdk/unity/ |
Android resolver try to resolve using 17.0.0 if it does not work it will try 17.0.+ and so on 17.+ Here are the lists of all 3rd party plugins that our project uses:
If you need more information just ask me. Thank you for your help. |
Hey @Zhangyu754178. We need more information to resolve this issue but there hasn't been an update in 5 weekdays. I'm marking the issue as stale and if there are no new updates in the next 5 days I will close it automatically. If you have more information that will help us get to the bottom of this, just add a comment! |
What other information do you need? |
I also have this issue. Using similar setup to @napbla Firebase Analytics 6.15.2 I am also using Unity Cloud build. I have the 17.1.1 arr file in Plugins/Android. I don't see anything that mentions 17.2.1 but I do see things looking for 17.0.0. My final build is somehow getting 17.2.1 and issue occurs. Can we get an ETA of when Unity Packages will just support 17.2.1 and this problem will just go away? |
More detail in case it helps.
|
Hey folks, As discussed in this thread, this is happening when Firebase Unity SDK depends on older version of gms package and some other Unity SDK depends on later version, ex. IronSource. We are rolling up our Android dependency for the next release, which may alleviate this issue. However, Android dependency is a tough problem to crack while you have multiple Unity plugins relying on different version of Android libraries, directly or indirectly. EDM4U can only inform you when this happens and try it best to resolve it, but cannot magically make all conflicts go away. Some library like Crashlytics and Firestore are pretty sensitive when Android library version is changed. I think the general way to resolve this is to balance the versions of Unity plugins in your project. In this case, perhaps downgrading some plugin may resolve the issue. You should be able to have a quick glance about first level of Android dependency using menu item Currently EDM4U does not have the ability to show the full dependency graph and point out which Unity plugins are having conflict. However, this can be added to EDM4U in the future. Community contribution is welcome! |
Glad to hear your working on it. It's unfortunate that in this case, the dependencies are Google Firebase and Google Admob Mediation plugins. I would love to downgrade if you have a way to figure out what it is but all of Google's documentation says to keep things on the same versions. Can anyone provide better detail on @napbla's workaround? We cannot ship our live service game on android right now because of this. |
@lfg-ryan You should keep all Firebase plugin in the same version, correct. |
I will try that however those plugins seem to be looking for 17.0.0 and as @napbla mentioned this resolves up to 17.2.1 instead of 17.1.1 which is compatible with the Unity firebase crashalytics package so it seems highly unlikely that asking for < 17.0.0 is going to yield a different result. It would be super helpful to have a more detailed work around while we wait for the Unity package to update to the new API. I have been unable to get the workarounds to yield any different result. The built APK still has 17.2.1 despite not seeing any reference in any of the dependency xml's etc. I am a novice when it comes to Android dependency management so I would greatly appreciate something more spelled out. |
You can simply solve this by downloading the old version 17.1.1 and RENAME it to 17.2.1 then copy into Assets\Plugins\Android folder overwrite the real one. |
Still trying to get this to work. When I make a build it gets replaced again with a real 17.2.1. Seems like android dependency resolution is happening again as part of the build process. Not sure how to turn that off. |
Ok I finally got this. Here are some more detailed steps in case your as new to this dependency stuff as I am. @napbla had it there just is a few gotcha's along the way.
Thank you @napbla and @chkuang-g, the "Enable Resolution on Build" was the thing tripping me up. |
Thank you for offering the workaround. In short, as long as you can thoroughly test your app, this kind of workaround can works. |
@lfg-ryan |
In my project with the same problem, I fixed the plugin version using square brackets. |
I can confirm that the same issue is actual for Firebase Unity SDK v6.16.0 and External Dependency Resolver (v 1.2.160).
|
Firebase Unity SDK v6.16.0 and External Dependency Resolver (v 1.2.160) have the same issue... |
The reason for that error is because: I have made the changes internally, both bumping up the Crashlytics version to See if you can lock their version to |
We just rolled out 6.16.1 and this issue should be fixed. Please let us know if you are still running into this. |
Hey folks, Unity SDK Dependency unfortunately is a pretty complicated issue. We are thinking about improving EDM4U to produce better debug information when dependency resolution conflict happens in the future. I'll close this issue for now. If you still experience issue, please open a new ticket and refer to this one. Shawn |
@chkuang-g To get this to work I had to uncheck "patch gradleTemplate.properties" in android resolver settings Seems strange that in the logs it's Initializing two versions Crashlytics 17.1.1 and 17.2.1
|
For the Android Resolver issue, you probably got caught by this issue googlesamples/unity-jar-resolver@88403b0. This should be fixed and included in the later version of FEDM4U and Firebase SDK. Otherwise, you don't really need to disable anything (And it will be helpful when you started to use For the log you saw, that looks...fine to me. Are you concerned about that |
@chkuang-g I think the same thing is happening to me now with remote config arr files. I wrote about it here: #846 |
@mgrogin I meet the same question,it is happening to remoteConfig.aar in firebase6.16.1.How do you to resolve it? |
Add square brackets to androidPackage dependency in PackageCache (file location: full file:
|
Putting this file in a folder called Editor should solve the problem for now.
|
Please fill in the following fields:
Unity editor version:
Firebase Unity SDK version: 6.15.2
Source you installed the SDK (.unitypackage or Unity Package Manager):FirebaseCrashlytics.unitypackage
Firebase plugins in use (Auth, Database, etc.):Catch Crash
Additional SDKs you are using (Facebook, AdMob, etc.):
Platform you are using the Unity editor on (Mac, Windows, or Linux): Mac
Platform you are targeting (iOS, Android, and/or desktop): Android
Scripting Runtime (Mono, and/or IL2CPP):IL2CPP
Please describe the issue here:
2020-08-19 14:27:25.588 25005-25377/onnect.connect.pair.matching.line.puzzle.match3d.tilemaster W/System.err: java.lang.NoSuchMethodError: no non-static method "Lcom/google/firebase/crashlytics/internal/common/DataCollectionArbiter;.setCrashlyticsDataCollectionEnabled(Z)V"
2020-08-19 14:27:25.588 25005-25377/onnect.connect.pair.matching.line.puzzle.match3d.tilemaster E/firebase: method_ids[i] || (method.optional == kMethodOptional)
2020-08-19 14:27:25.589 25005-25377/onnect.connect.pair.matching.line.puzzle.match3d.tilemaster E/firebase: Unable to find Method com/google/firebase/crashlytics/internal/common/DataCollectionArbiter.setCrashlyticsDataCollectionEnabled (signature '(Z)V', instance). Please verify the AAR which contains the com/google/firebase/crashlytics/internal/common/DataCollectionArbiter class is included in your app.
Please answer the following, if applicable:
Have you been able to reproduce this issue with just the Firebase Unity quickstarts (this GitHub project)?
Yes
What's the issue repro rate? (eg 100%, 1/5 etc)
The text was updated successfully, but these errors were encountered: