Troubleshooting
This section describes known issues and common solutions for them.
Getting error "Manifest merger failed" when building for Android on Unity 2019.3.
Symptoms
- You are using Unity version 2019.3
- You are building the app for Android platform.
- You get the error "Manifest merger failed" similar to the following screenshot.
Resolution
Unity 2019.3 seems to have a bug causing it to return the wrong JDK path which is used by EM during an Android build. To fix it follow the procedure below:
- Open Unity Preferences > External Tools
- Uncheck the "Use embedded JDK" option.
- Click the "Browse" button next to the JDK path so Unity corrects the path itself.
- Check the ""Use embedded JDK" option again.
App crashes when using Google Play Game Plugin with Unity 2018.2.0 or newer.
Symptoms
- You are using the Google Play Games Plugin for Unity (GPGS) version 0.9.50 or older (0.9.50 is the latest version as of this writing, this may or may not apply to future versions).
- You are building the app with Unity 2018.2.0 or newer.
- The app crash while attempting to login to Google Play Games.
- The crashlog includes this line "Application ID ( xxxxxxxxxxxxx) must be a numeric value."
Resolution
This is a known issue of GPGS. Please follow this instruction to solve it.
Google Play Services Resolver gets stuck after importing OneSignal SDK
Symptoms
- Your project is using Google Play Services Resolver 1.2.88 or newer.
- The resolver worked correctly before importing OneSignal plugin, but gets stuck after importing it.
Resolution
Please follow OneSignal instruction on solving this.
Can't sign in to Google Play Games with development builds created by Gradle build system
Symptoms
- You have setup your app to work with Google Play Games via the Game Services module.
- If you create a non-development build using Gradle and try to sign in to Google Play Games in the app, the authentication succeeds.
- If you create a non-development or development build using the Unity's internal build system, the authentication also succeeds.
- If you create a development build using the Gradle build system, the authentication always fails.
Resolution
The root cause of the problem is the default gradle config of Unity doesn't use the keystore specified in Play Settings (in other words, the debug keystore is always used), causing Google Play Games authentication to fail. To address this you need to:
- Enable the 'Custom Gradle Template' option in Player Settings > Android Tab > Publishing Settings.
- Add a **SIGNCONFIG** line to the custom gradle config (normally it is at Assets/Plugins/Android/mainTemplate.gradle) at the debug buildTypes config like below, so that the release keystore can be used in development builds.
**SIGN**
buildTypes {
debug {
minifyEnabled **MINIFY_DEBUG**
useProguard **PROGUARD_DEBUG**
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'**USER_PROGUARD**
jniDebuggable true
**SIGNCONFIG** <--- ADD THIS LINE
}
release {
minifyEnabled **MINIFY_RELEASE**
useProguard **PROGUARD_RELEASE**
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'**USER_PROGUARD**
**SIGNCONFIG**
}
}
Easy Mobile settings are not saved
Symptoms
You open the Easy Mobile global settings interface (Window > Easy Mobile > Settings) and made some changes, then close the interface. When you re-open it, the changes are gone instead of being saved.
Resolution
Normally, this is because there are more than one Inspector tabs being opened at the same time. So double check that and make sure you only have one Inspector tab in which the Easy Mobile settings interface is shown.
UnityAds Service is enabled, but shown as unavailable in Advertising module settings
Symptoms
You have enabled UnityAds from the Services tab in Unity, but the Advertising module still shows that it is unavailable.
Resolution
- First of all make sure that your current active platform is iOS or Android, since UnityAds is not available on other platforms. To switch platform go to File > Build Settings, then select the target platform and hit the Switch Platform button.
- In UnityAds settings panel (Window > Services > Ads), make sure the "Enable built-in Ads extension" option in the Advanced section is checked.
If UnityAds is still not detected as available, perform the following steps:
- Disable UnityAds service in the Services tab.
- Exit Unity.
- Go to the project folder, locate the Project Settings folder and open it.
- Delete the UnityConnectSettings.asset file and the UnityAdsSettings.asset file (if any).
- Open Unity and enable UnityAds service again. It should be detected now.
Errors upon importing Easy Mobile due to conflicting versions of the Google Play Services Resolver plugin
Symptoms
After importing/upgrading Easy Mobile in a project that already contains the Google Play Services Resolver plugin (the folder Assets/PlayServicesResolver exists):
- You get an error in the console starting with "An assembly with the same name 'Google.VersionHandlerImpl' has already been imported...".
- The Assets/PlayServicesResolver/Editor contains multiple files with same names but different versions.
Resolution
Use menu Assets > PlayServicesResolver > Version Handler > Update. The Version Handler of the Google Play Services Resolver will automatically resolve the conflict, pick the appropriate version and remove the redundant files.