playgameservices / play-games-plugin-for-unity

Google Play Games plugin for Unity
Other
3.45k stars 962 forks source link

Uncaught translation error: java.lang.IllegalArgumentException: already added #1263

Open qbit86 opened 8 years ago

qbit86 commented 8 years ago

After upgrade from 0.9.33 to 0.9.34 I've encountered build issue (Unity 5.3.5 targeting Android, Windows 10):

CommandInvokationFailure: Unable to convert classes into dex format. See the Console for details.
...
stderr[
...
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzsq;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzsr;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzss;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzst;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzsu;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzsv;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzsw;
7 errors; aborting
]

Upgrade updated play-games-plugin-support.jar and resolver replaced play-services-games-8.4.0.aar and play-services-nearby-8.4.0.aar with 9.0.1 versions; but the rest of play-services-*-8.4.0.aars left unmodified.

Some similar issues have already been filed mentioning possible conflicts; but I don't know how to find them out:

AF-Android-SDK.jar                     Plugins\Android
AmazonCptPluginsUtils-1.0.jar          Plugins\Android
AmazonIapV2Client.jar                  Plugins\Android
AmazonIapV2JavaService-1.0.jar         Plugins\Android
AmazonInsights-android-proxy.jar       Plugins\Android
AmazonInsights-android-sdk.jar         Plugins\Android
AmazonMobileAdsAndroidSDK3P-1.1.jar    Plugins\Android
AmazonMobileAdsClient.jar              Plugins\Android
AmazonMobileAdsJavaService-1.0.jar     Plugins\Android
appcompat-v7-23.1.1.aar                Plugins\Android
AppsFlyerAndroidPlugin.jar             Plugins\Android
bolts-applinks-1.3.0.jar               FacebookSDK\Plugins\Android\libs
bolts-tasks-1.3.0.jar                  FacebookSDK\Plugins\Android\libs
cardview-v7-23.1.1.aar                 FacebookSDK\Plugins\Android\libs
classes.jar                            Plugins\Android\play-services-measurement-8.4.0\libs
devtodev.jar                           Plugins\Android
EtceteraPlugin.jar                     Plugins\Android
facebook-android-sdk-4.9.0.aar         FacebookSDK\Plugins\Android\libs
facebook-android-wrapper-7.4.0.aar     FacebookSDK\Plugins\Android\libs
fyber-adcolony-2.3.3-r1.jar            Plugins\Android
fyber-admob-8.4.0-r1.jar               Plugins\Android
fyber-applovin-6.1.5-r1.jar            Plugins\Android
fyber-facebook-4.10.0-r1.aar           Plugins\Android
fyber-sdk-8.1.6.jar                    Plugins\Android
fyber-sdk-bridge.jar                   Plugins\Android
fyber-unityads-1.5.6-r2.jar            Plugins\Android
gamecirclesdk.jar                      Plugins\Android
gcunity.jar                            Plugins\Android
GoogleCloudMessagingPlugin.aar         Plugins\Android
gson-2.2.4.jar                         Plugins\Android
IABPlugin.jar                          Plugins\Android
in-app-purchasing-2.0.61.jar           Plugins\Android
loaddex.jar                            Plugins\Android
login-with-amazon-sdk.jar              Plugins\Android
NoodlePermissionGranter.jar            Plugins\Android\NoodlePermissionGranter\libs
obfuscated_googleplaydownloader.jar    Plugins\Android\UnityOBBDownloader\bin
play-games-plugin-support.jar          Plugins\Android\MainLibProj\libs
play-services-ads-8.4.0.aar            Plugins\Android
play-services-base-8.4.0.aar           Plugins\Android
play-services-basement-8.4.0.aar       Plugins\Android
play-services-drive-8.4.0.aar          Plugins\Android
play-services-games-9.0.1.aar          Plugins\Android
play-services-gcm-8.4.0.aar            Plugins\Android
play-services-nearby-9.0.1.aar         Plugins\Android
play-services-plus-8.4.0.aar           Plugins\Android
Prime31UnityActivity.jar               Plugins\Android
support-annotations-23.4.0.jar         Plugins\Android
support-v4-23.1.1.aar                  Plugins\Android
TwitterPlugin.jar                      Plugins\Android\SocialNetworking_lib\libs
UniPasteBoard.jar                      Plugins\Android
unityads-1.5.6.jar                     Plugins\Android\fyber-unityads-1.5.6-r2\libs
webviewone.jar                         Plugins\Android\bin
sweatyc commented 8 years ago

No sure I have same issue, I am using both AdMob and PlayGames and have latest Android SDK, my errors are:

stderr[
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzqv;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzqw;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzqx;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzqy;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzqz;
5 errors; aborting
]

I debugged it by importing the plugins in the new project and manually delete the aar 1-by-1, finally I found out that it's simple because the aar versions are not unique (in your case some are 8.4.0. and some are 9.0.1). This is because your other plugins requesting just 8.4.0 but PlayGames requesting the newest.

Now just fix it by letting all other plugins request the latest by editing their scripts in PlayServicesResolver from: svcSupport.DependOn( "com.google.android.gms", "play-services-basement", "8.4+" ); to: svcSupport.DependOn( "com.google.android.gms", "play-services-basement", "LATEST" );

HgJack commented 8 years ago

Where do you have : "svcSupport.DependOn( "com.google.android.gms", "play-services-basement", "8.4+" );"????

sweatyc commented 8 years ago

All .cs files in: Assets/PlayServicesResolver/Editor/*Dependencies.cs

HgJack commented 8 years ago

What aar did you delete?

HgJack commented 8 years ago

I just deleted 8.4 aar files and now my lederboard stop working, i deleted play service drive and plus

aaslun commented 6 years ago

Assets/PlayServicesResolver/Editor does not seem to contain any .cs files on my install. Only dll-files. Running on GooglePlayGamesPlugin version 0.9.42. Specifically, I get this build error: Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzcq; Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzcq$zza;