I am completely stumped with Defold’s behaviour regarding google play services.
There is an official AdMob extension, which builds fine and provides all the required JAR files (google play and support library).
However, if I copy these libs into my project, I can’t build it because of duplicate classes.
Description Resource Path Location Type
Build server output: javac -source 1.6 -target 1.6 -J-Xms2048m -J-Xmx2048m -classpath /var/extender/sdk/0dde28ca92551934cf34137e33d029cce19b2447/defoldsdk//ext/share/java/android-support-v4.jar:/var/extender/sdk/0dde28ca92551934cf34137e33d029cce19b2447/defoldsdk//ext/share/java/android.jar:/tmp/job6530680997829605849/build/tmp644ce6b9-925a-4ed6-bc24-d6eb5dad0ad0rjava/classes -d /tmp/job6530680997829605849/build/tmp644ce6b9-925a-4ed6-bc24-d6eb5dad0ad0rjava/classes @/tmp/job6530680997829605849/build/tmp644ce6b9-925a-4ed6-bc24-d6eb5dad0ad0rjava/sources.txt
warning: [options] bootstrap class path not set in conjunction with -source 1.6
1 warning
jar cf /tmp/job6530680997829605849/build/tmp644ce6b9-925a-4ed6-bc24-d6eb5dad0ad0rjava/R.jar -C /tmp/job6530680997829605849/build/tmp644ce6b9-925a-4ed6-bc24-d6eb5dad0ad0rjava/classes .
dx -JXms2048m -JXmx2048m --dex --output /tmp/job6530680997829605849/build/classes.dex /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_TMIronSourceAdapter.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_TMAdMobAdapter.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_libs_vungle_publisher-adaptive-id-4.0.3.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_libs_chartboost-6.6.3.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_TMInMobiAdapter.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_libs_applovin-sdk-7.2.0.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/support-v4-24.0.0.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_TMAppLovinAdapter.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/play-services-ads-10.0.1.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_libs_tapjoyconnectlibrary.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/play-services-tasks-10.0.1.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/jnlua.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/play-services-ads-lite-10.0.1.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_TMChartboostAdapter.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_libs_vungle_javax.inject-1.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_TMFacebookAdapter.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_libs_InMobi-6.2.4.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_TMVungleAdapter.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/jnlua.dummyloader.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/support-v4_impl-24.0.0.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_libs_FacebookAudienceNetwork.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/gson-2.8.1.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/play-services-basement-10.0.1.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_TMTapjoyAdapter.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_TMUnityAdsAdapter.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_libs_InMobi_picasso-2.5.2.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_libs_ironsource-mediationsdk-6.6.4.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_libs_UnityAds-2.1.0.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/play-services-base-10.0.1.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/play-services-gass-10.0.1.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/extension.tapdaq.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/adapter_libs_vungle_dagger-2.7.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/play-services-clearcut-10.0.1.jar /tmp/job6530680997829605849/upload/tapdaq/lib/android/tapdaq.jar /tmp/job6530680997829605849/build/tmp644ce6b9-925a-4ed6-bc24-d6eb5dad0ad0rjava/R.jar /var/extender/sdk/0dde28ca92551934cf34137e33d029cce19b2447/defoldsdk//ext/share/java/facebooksdk.jar /var/extender/sdk/0dde28ca92551934cf34137e33d029cce19b2447/defoldsdk//ext/share/java/bolts-android-1.2.0.jar /var/extender/sdk/0dde28ca92551934cf34137e33d029cce19b2447/defoldsdk//ext/share/java/google-play-services.jar /var/extender/sdk/0dde28ca92551934cf34137e33d029cce19b2447/defoldsdk//ext/share/java/android-support-v4.jar /var/extender/sdk/0dde28ca92551934cf34137e33d029cce19b2447/defoldsdk//ext/share/java/in-app-purchasing-2.0.61.jar /var/extender/sdk/0dde28ca92551934cf34137e33d029cce19b2447/defoldsdk//share/java/glfw_android.jar /var/extender/sdk/0dde28ca92551934cf34137e33d029cce19b2447/defoldsdk//share/java/facebook_android.jar /var/extender/sdk/0dde28ca92551934cf34137e33d029cce19b2447/defoldsdk//share/java/gamesys_android.jar /var/extender/sdk/0dde28ca92551934cf34137e33d029cce19b2447/defoldsdk//share/java/iap_android.jar /var/extender/sdk/0dde28ca92551934cf34137e33d029cce19b2447/defoldsdk//share/java/push_android.jar /var/extender/sdk/0dde28ca92551934cf34137e33d029cce19b2447/defoldsdk//share/java/adtruth_android.jar /var/extender/sdk/0dde28ca92551934cf34137e33d029cce19b2447/defoldsdk//share/java/sound_android.jar /var/extender/sdk/0dde28ca92551934cf34137e33d029cce19b2447/defoldsdk//share/java/webview_android.jar /var/extender/sdk/0dde28ca92551934cf34137e33d029cce19b2447/defoldsdk//share/java/iac_android.jar
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/app/ActionBarDrawerToggle;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/v4/app/ActionBarDrawerToggle$1;
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: Translation has been interrupted
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:608)
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)
Caused by: java.lang.InterruptedException: Too many errors
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:600)
... 4 more
ext.manifest /extension-tapdaq/content/tapdaq Unknown Problem
If I remove the support library, I get similar errors for google play services stuff.
It’s clear that Defold adds it’s own versions of jars
/var/extender/sdk/0dde28ca92551934cf34137e33d029cce19b2447/defoldsdk//ext/share/java/google-play-services.jar
/var/extender/sdk/0dde28ca92551934cf34137e33d029cce19b2447/defoldsdk//ext/share/java/android-support-v4.jar
But at the same time the AdMob example builds fine.
Is there a secret switch I have to activate to make it work for me?
@sven, any thoughts?