Reputation: 689
Since Unity 2019.3 the Android build process has changed and now the gradle project contains two modules - a unityLibrary module and launcher module.
I am having trouble uploading native symbols as I cannot apply the plugin to the unityLibrary module, and only works in the launcher. Is there a certain way I can achieve this?
When I run uploadCrashlyticsSymbolFileRelease
task that is only present on the launcher module, I receive this error:
Could not find the file generated by Google Services. Please check your Firebase project configuration
The configuration file is in the unityLibrary module.
Is there any way to move the task to the unityLibrary module? If I move the crashlytics plugin to the unityLibray
module the error changes into:
Crashlytics was applied to a project without an Android plugin. Please make sure the Crashlytics plugin is applied after the appropriate Android plugin for your project.
Upvotes: 0
Views: 750
Reputation: 3141
The tricky bit is that Firebase is still compatible with versions of Unity that do not support gradle integration. Because of this, the build pipeline in Unity re-implements the functionality of the google services plugin (namely generating the values.xml
file).
I've personally put some effort into massaging the mainTemplate.gradle
file to work with gradle plugin, but haven't gotten the NDK upload to work yet. Some notes that may help:
mainTemplate.gradle
file if available but will also process google-services.json
and drop the output into Assets/Plugins/Android
. You'll likely want to run it once to generate the dependencies, delete the values.xml, and then disable EDM4U to prevent it from regenerating that file.aar
archives that bind C#, C++, and Java are packaged into local maven repository in your Assets
directory. This will make it hard to relocate your project after generating it (ie: try to do all your work Unity side if possible).values.xml
to use the plugin, you'll need to make sure google-services.json
actually makes it into your Android sourcetree. Assets/StreamingAssets
might do this automatically but you may have to write a build script to copy it over.Finally, the team is aware of the desire to debug NDK code in the Unity Crashlytics plugin. There aren't any public timelines available, but in lieu of a good answer opening an issue on the quickstart or posting to the mailing list might could be a good way to try to work through the process.
Upvotes: 2