CommandInvokationFailure: Unable to convert classes into dex format

Hi,

I am using Unity 5.6 version which has latest,

  1. Facebook SDK
  2. Google ADMob
  3. Unity IAP

When I take build, I am getting following error

CommandInvokationFailure: Unable to convert classes into dex format.
/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/bin/java -Xmx2048M -Dcom.android.sdkmanager.toolsdir=“/Users/Sivam/Documents/sdk/tools” -Dfile.encoding=UTF8 -jar “/Applications/Unity5_6/PlaybackEngines/AndroidPlayer/Tools/sdktools.jar” -

stderr[
Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoIcsImpl;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoJellyBeanMr2;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoStubImpl;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompatIcs;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompatJellyBeanMr2;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/v4/animation/AnimatorCompatHelper;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/v4/animation/AnimatorListenerCompat;

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: Translation has been interrupted
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:613)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:311)
at com.android.dx.command.dexer.Main.run(Main.java:277)
at com.android.dx.command.dexer.Main.main(Main.java:245)
at com.android.dx.command.Main.main(Main.java:106)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at SDKMain.main(SDKMain.java:129)
Caused by: java.lang.InterruptedException: Too many errors
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:605)
… 9 more
]
stdout[
processing archive /Users/Sivam/Unity/FB_Admob_UIAP/Temp/StagingArea/android-libraries/GoogleAIDL/libs/./classes.jar…
processing com/android/vending/billing/BuildConfig.class…
processing com/android/vending/billing/IInAppBillingService.class…
processing com/android/vending/billing/IInAppBillingService$Stub.class…
processing com/android/vending/billing/IInAppBillingService$Stub$Proxy.class…
processing archive /Users/Sivam/Unity/FB_Admob_UIAP/Temp/StagingArea/android-libraries/GooglePlay/libs/./classes.jar…
processing com/unity/purchasing/googleplay/ActivityLauncher.class…
processing com/unity/purchasing/googleplay/BillingServiceManager.class…
processing com/unity/purchasing/googleplay/BillingServiceManager$1.class…
processing com/unity/purchasing/googleplay/BillingServiceManager$1$1.class…
processing com/unity/purchasing/googleplay/BillingServiceManager$1$2.class…
processing com/unity/purchasing/googleplay/BillingServiceManager$2.class…
processing com/unity/purchasing/googleplay/BillingServiceProcessor.class…
processing com/unity/purchasing/googleplay/BuildConfig.class…
processing com/unity/purchasing/googleplay/Consts.class…
processing com/unity/purchasing/googleplay/Consts$PurchaseState.class…
processing com/unity/purchasing/googleplay/Consts$ResponseCode.class…
processing com/unity/purchasing/googleplay/GooglePlayBillingUnAvailableException.class…
processing com/unity/purchasing/googleplay/GooglePlayPurchasing.class…
processing com/unity/purchasing/googleplay/GooglePlayPurchasing$1.class…
processing com/unity/purchasing/googleplay/GooglePlayPurchasing$2.class…
processing com/unity/purchasing/googleplay/GooglePlayPurchasing$3.class…
processing com/unity/purchasing/googleplay/GooglePlayPurchasing$4.class…
processing com/unity/purchasing/googleplay/GooglePlayPurchasing$5.class…
processing com/unity/purchasing/googleplay/GooglePlayPurchasing$6.class…
processing com/unity/purchasing/googleplay/GooglePlayPurchasing$7.class…
processing com/unity/purchasing/googleplay/GooglePlayPurchasing$Features.class…
processing com/unity/purchasing/googleplay/IActivityLauncher.class…
processing com/unity/purchasing/googleplay/IBillingServiceManager.class…
processing com/unity/purchasing/googleplay/IabException.class…
processing com/unity/purchasing/googleplay/IabHelper.class…
processing com/unity/purchasing/googleplay/IabHelper$1.class…
processing com/unity/purchasing/googleplay/IabHelper$2.class…
processing com/unity/purchasing/googleplay/IabHelper$2$1.class…
processing com/unity/purchasing/googleplay/IabHelper$3.class…
processing com/unity/purchasing/googleplay/IabHelper$4.class…
processing com/unity/purchasing/googleplay/IabHelper$OnConsumeFinishedListener.class…
processing com/unity/purchasing/googleplay/IabHelper$OnConsumeMultiFinishedListener.class…
processing com/unity/purchasing/googleplay/IabHelper$OnIabPurchaseFinishedListener.class…
processing com/unity/purchasing/googleplay/IabHelper$OnIabSetupFinishedListener.class…
processing com/unity/purchasing/googleplay/IabHelper$QueryInventoryFinishedListener.class…
processing com/unity/purchasing/googleplay/IabResult.class…
processing com/unity/purchasing/googleplay/Inventory.class…
processing com/unity/purchasing/googleplay/Purchase.class…
processing com/unity/purchasing/googleplay/PurchaseActivity.class…
processing com/unity/purchasing/googleplay/PurchaseFailedEvent.class…
processing com/unity/purchasing/googleplay/SkuDetails.class…
processing archive /Users/Sivam/Unity/FB_Admob_UIAP/Temp/StagingArea/android-libraries/animated-vector-drawable-23.4.0/libs/./classes.jar…
processing android/support/graphics/drawable/AnimatedVectorDrawableCompat.class…
processing android/support/graphics/drawable/AnimatedVectorDrawableCompat$1.class…
processing android/support/graphics/drawable/AnimatedVectorDrawableCompat$AnimatedVectorDrawableCompatState.class…
processing android/support/graphics/drawable/AnimatedVectorDrawableCompat$AnimatedVectorDrawableDelegateState.class…
processing android/support/graphics/drawable/animated/BuildConfig.class…
processing archive /Users/Sivam/Unity/FB_Admob_UIAP/Temp/StagingArea/android-libraries/appcompat-v7-23.4.0/libs/./classes.jar…
ignored resource .readme
processing android/support/v7/app/ActionBar.class…
processing android/support/v7/app/ActionBar$DisplayOptions.class…
processing android/support/v7/app/ActionBar$LayoutParams.class…
processing android/support/v7/app/ActionBar$NavigationMode.class…
processing android/support/v7/app/ActionBar$OnMenuVisibilityListener.class…
processing android/support/v7/app/ActionBar$OnNavigationListener.class…
processing android/support/v7/app/ActionBar$Tab.class…
processing android/support/v7/app/ActionBar$TabListener.class…
processing android/support/v7/app/ActionBarActivity.class…
processing android/support/v7/app/ActionBarDrawerToggle.class…
processing android/support/v7/app/ActionBarDrawerToggle$1.class…
processing android/support/v7/app/ActionBarDrawerToggle$Delegate.class…
processing android/support/v7/app/ActionBarDrawerToggle$DelegateProvider.class…
processing android/support/v7/app/ActionBarDrawerToggle$DrawerArrowDrawableToggle.class…
processing android/support/v7/app/ActionBarDrawerToggle$DrawerToggle.class…
processing android/support/v7/app/ActionBarDrawerToggle$DummyDelegate.class…
processing android/support/v7/app/ActionBarDrawerToggle$HoneycombDelegate.class…
processing android/support/v7/app/ActionBarDrawerToggle$JellybeanMr2Delegate.class…
processing android/support/v7/app/ActionBarDrawerToggle$ToolbarCompatDelegate.class…
processing android/support/v7/app/ActionBarDrawerToggleHoneycomb.class…
processing android/support/v7/app/ActionBarDrawerToggleHoneycomb$SetIndicatorInfo.class…
processing android/support/v7/app/AlertController.class…
processing android/support/v7/app/AlertController$1.class…
processing android/support/v7/app/AlertController$2.class…
processing android/support/v7/app/AlertController$3.class…
processing android/support/v7/app/AlertController$4.class…
processing android/support/v7/app/AlertController$5.class…
processing android/support/v7/app/AlertController$AlertParams.class…
processing android/support/v7/app/AlertController$AlertParams$1.class…
processing android/support/v7/app/AlertController$AlertParams$2.class…
processing android/support/v7/app/AlertController$AlertParams$3.class…
processing android/support/v7/app/AlertController$AlertParams$4.class…
processing android/support/v7/app/AlertController$AlertParams$OnPrepareListViewListener.class…
processing android/support/v7/app/AlertController$ButtonHandler.class…
processing android/support/v7/app/AlertController$CheckedItemAdapter.class…
processing android/support/v7/app/AlertDialog.class…
processing android/support/v7/app/AlertDialog$Builder.class…
processing android/support/v7/app/AppCompatActivity.class…
processing android/support/v7/app/AppCompatCallback.class…
processing android/support/v7/app/AppCompatDelegate.class…
processing android/support/v7/app/AppCompatDelegate$NightMode.class…
processing android/support/v7/app/AppCompatDelegateImplBase.class…
processing android/support/v7/app/AppCompatDelegateImplBase$1.class…
processing android/support/v7/app/AppCompatDelegateImplBase$ActionBarDrawableToggleImpl.class…
processing android/support/v7/app/AppCompatDelegateImplBase$AppCompatWindowCallbackBase.class…
processing android/support/v7/app/AppCompatDelegateImplV11.class…
processing android/support/v7/app/AppCompatDelegateImplV14.class…
processing android/support/v7/app/AppCompatDelegateImplV14$AppCompatWindowCallbackV14.class…
processing android/support/v7/app/AppCompatDelegateImplV23.class…
processing android/support/v7/app/AppCompatDelegateImplV23$AppCompatWindowCallbackV23.class…
processing android/support/v7/app/AppCompatDelegateImplV7.class…
processing android/support/v7/app/AppCompatDelegateImplV7$1.class…
processing android/support/v7/app/AppCompatDelegateImplV7$2.class…
processing android/support/v7/app/AppCompatDelegateImplV7$3.class…
processing android/support/v7/app/AppCompatDelegateImplV7$4.class…
processing android/support/v7/app/AppCompatDelegateImplV7$5.class…
processing android/support/v7/app/AppCompatDelegateImplV7$5$1.class…
processing android/support/v7/app/AppCompatDelegateImplV7$6.class…
processing android/support/v7/app/AppCompatDelegateImplV7$ActionMenuPresenterCallback.class…
processing android/support/v7/app/AppCompatDelegateImplV7$ActionModeCallbackWrapperV7.class…
processing android/support/v7/app/AppCompatDelegateImplV7$ActionModeCallbackWrapperV7$1.class…
processing android/support/v7/app/AppCompatDelegateImplV7$ListMenuDecorView.class…
processing android/support/v7/app/AppCompatDelegateImplV7$PanelFeatureState.class…
processing android/support/v7/app/AppCompatDelegateImplV7$PanelFeatureState$SavedState.class…
processing android/support/v7/app/AppCompatDelegateImplV7$PanelFeatureState$SavedState$1.class…
processing android/support/v7/app/AppCompatDelegateImplV7$PanelMenuPresenterCallback.class…
processing android/support/v7/app/AppCompatDialog.class…
processing android/support/v7/app/AppCompatDialogFragment.class…
processing android/support/v7/app/AppCompatViewInflater.class…
processing android/support/v7/app/AppCompatViewInflater$DeclaredOnClickListener.class…
processing android/support/v7/app/NavItemSelectedListener.class…
processing android/support/v7/app/NotificationCompat.class…
processing android/support/v7/app/NotificationCompat$1.class…
processing android/support/v7/app/NotificationCompat$Builder.class…
processing android/support/v7/app/NotificationCompat$IceCreamSandwichExtender.class…
processing android/support/v7/app/NotificationCompat$JellybeanExtender.class…
processing android/support/v7/app/NotificationCompat$LollipopExtender.class…
processing android/support/v7/app/NotificationCompat$MediaStyle.class…
processing android/support/v7/app/NotificationCompatImpl21.class…
processing android/support/v7/app/NotificationCompatImplBase.class…
processing android/support/v7/app/ToolbarActionBar.class…
processing android/support/v7/app/ToolbarActionBar$1.class…
processing android/support/v7/app/ToolbarActionBar$2.class…
processing android/support/v7/app/ToolbarActionBar$ActionMenuPresenterCallback.class…
processing android/support/v7/app/ToolbarActionBar$MenuBuilderCallback.class…
processing android/support/v7/app/ToolbarActionBar$PanelMenuPresenterCallback.class…
processing android/support/v7/app/ToolbarActionBar$ToolbarCallbackWrapper.class…
processing android/support/v7/app/TwilightCalculator.class…
processing android/support/v7/app/TwilightManager.class…
processing android/support/v7/app/TwilightManager$1.class…
processing android/support/v7/app/TwilightManager$TwilightState.class…
processing android/support/v7/app/WindowDecorActionBar.class…
processing android/support/v7/app/WindowDecorActionBar$1.class…
processing android/support/v7/app/WindowDecorActionBar$2.class…
processing android/support/v7/app/WindowDecorActionBar$3.class…
processing android/support/v7/app/WindowDecorActionBar$ActionModeImpl.class…
processing android/support/v7/app/WindowDecorActionBar$TabImpl.class…
processing android/support/v7/appcompat/BuildConfig.class…
processing android/support/v7/graphics/drawable/DrawableWrapper.class…
processing android/support/v7/graphics/drawable/DrawerArrowDrawable.class…
processing android/support/v7/graphics/drawable/DrawerArrowDrawable$ArrowDirection.class…
processing android/support/v7/text/AllCapsTransformationMethod.class…
processing android/support/v7/transition/ActionBarTransition.class…
processing android/support/v7/view/ActionBarPolicy.class…
processing android/support/v7/view/ActionMode.class…
processing android/support/v7/view/ActionMode$Callback.class…
processing android/support/v7/view/CollapsibleActionView.class…
processing android/support/v7/view/ContextThemeWrapper.class…
processing android/support/v7/view/StandaloneActionMode.class…
processing android/support/v7/view/SupportActionModeWrapper.class…
processing android/support/v7/view/SupportActionModeWrapper$CallbackWrapper.class…
processing android/support/v7/view/SupportMenuInflater.class…
processing android/support/v7/view/SupportMenuInflater$InflatedOnMenuItemClickListener.class…
processing android/support/v7/view/SupportMenuInflater$MenuState.class…
processing android/support/v7/view/ViewPropertyAnimatorCompatSet.class…
processing android/support/v7/view/ViewPropertyAnimatorCompatSet$1.class…
processing android/support/v7/view/WindowCallbackWrapper.class…
processing android/support/v7/view/menu/ActionMenuItem.class…
processing android/support/v7/view/menu/ActionMenuItemView.class…
processing android/support/v7/view/menu/ActionMenuItemView$ActionMenuItemForwardingListener.class…
processing android/support/v7/view/menu/ActionMenuItemView$PopupCallback.class…
processing android/support/v7/view/menu/BaseMenuPresenter.class…
processing android/support/v7/view/menu/BaseMenuWrapper.class…
processing android/support/v7/view/menu/BaseWrapper.class…
processing android/support/v7/view/menu/ExpandedMenuView.class…
processing android/support/v7/view/menu/ListMenuItemView.class…
processing android/support/v7/view/menu/ListMenuPresenter.class…
processing android/support/v7/view/menu/ListMenuPresenter$MenuAdapter.class…

You probably have a aar file present twice (in two plugins maybe). I had this in the past with a combination of other plugins such as admob and google play games services. You may also have a look at this, I took a lot of notes :wink:

It’s a pain to fix and nothing clear on this can be found about solving this other than working in a blank project with exactly the plugins you need. (Doing so will save you time while building as project will be very small).

I recommend you do the build from command line so you can catch the complete log while building (that helped me).

Good luck

Root Cause For This Error

Th error can be found in this part of the error message:

stderr[ Uncaught translation error:
java.lang.IllegalArgumentException:
already added:
Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat;
Uncaught translation error:
java.lang.IllegalArgumentException:
already added:
Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoIcsImpl;
Uncaught translation error:
java.lang.IllegalArgumentException:
already added:
Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoJellyBeanMr2;
Uncaught translation error:
java.lang.IllegalArgumentException:
already added:
Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoStubImpl;
Uncaught translation error:
java.lang.IllegalArgumentException:
already added:
Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;
Uncaught translation error:
java.lang.IllegalArgumentException:
already added:
Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompatIcs;
Uncaught translation error:
java.lang.IllegalArgumentException:
already added:
Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompatJellyBeanMr2;
Uncaught translation error:
java.lang.IllegalArgumentException:
already added:
Landroid/support/v4/animation/AnimatorCompatHelper;
Uncaught translation error:
java.lang.IllegalArgumentException:
already added:
Landroid/support/v4/animation/AnimatorListenerCompat;

The DEX tool that Unity runs merges all the code found in native Android libraries together into a single file (called classes.dex).
In case it encounters a class with the same name again, it fails.

In the case here, it is telling you that it already added android/support/v4/accessibilityservice/AccessibilityServiceInfoCompat (for example) to classes.dex and so it cannot add another class with this name.

How To Fix

This happens, as @GabLeRoux mentioned in his answer, probably due to duplicate libraries (.jar or .aar files) that are present in your project. The hard part is identifying which are duplicates of which.

A big hint is the actual class name, which looks like related to the Android support library. I would look for any files named support in your project (usually they are named support-XXXX.aar or similar). You should only keep one copy of this library.