Android Unity builds do not compile with admob + onesignal sdk

838 views
Skip to first unread message

munster Munktch

unread,
Mar 16, 2022, 4:14:29 PM3/16/22
to Google Mobile Ads SDK Developers
Hi, Android builds do not compile when using using the latest onesignal and admob sdk. Using either of those sdk's individually it builds successfully.

This can be reproduced with a new empty build in any Unity 2019.4 version and the latest Unity 2020.3.30.

I have only tested with the admob native ads unity sdk.

error 1...
> Task :launcher:preBuild UP-TO-DATE
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:preBuild UP-TO-DATE
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:preReleaseBuild UP-TO-DATE
> Task :unityLibrary:preBuild UP-TO-DATE
> Task :unityLibrary:OneSignalConfig.plugin:preBuild UP-TO-DATE
> Task :unityLibrary:preReleaseBuild UP-TO-DATE
> Task :unityLibrary:OneSignalConfig.plugin:preReleaseBuild UP-TO-DATE
> Task :unityLibrary:checkReleaseManifest UP-TO-DATE
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:checkReleaseManifest
> Task :unityLibrary:OneSignalConfig.plugin:checkReleaseManifest
> Task :unityLibrary:processReleaseManifest
> Task :unityLibrary:OneSignalConfig.plugin:processReleaseManifest
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:processReleaseManifest
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:compileReleaseAidl NO-SOURCE
> Task :unityLibrary:OneSignalConfig.plugin:compileReleaseAidl NO-SOURCE
> Task :unityLibrary:packageReleaseRenderscript NO-SOURCE
> Task :launcher:prepareLintJar UP-TO-DATE
> Task :unityLibrary:OneSignalConfig.plugin:packageReleaseRenderscript NO-SOURCE
> Task :unityLibrary:generateReleaseBuildConfig UP-TO-DATE
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:packageReleaseRenderscript NO-SOURCE
> Task :unityLibrary:generateReleaseResValues UP-TO-DATE
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:compileReleaseRenderscript NO-SOURCE
> Task :unityLibrary:OneSignalConfig.plugin:compileReleaseRenderscript NO-SOURCE
> Task :unityLibrary:prepareLintJar UP-TO-DATE
> Task :unityLibrary:OneSignalConfig.plugin:generateReleaseResValues
> Task :unityLibrary:OneSignalConfig.plugin:generateReleaseResources
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:generateReleaseResValues
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:generateReleaseResources
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:packageReleaseResources
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:generateReleaseRFile
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:generateReleaseBuildConfig
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:prepareLintJar
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:generateReleaseSources
> Task :unityLibrary:OneSignalConfig.plugin:packageReleaseResources
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:javaPreCompileRelease
> Task :unityLibrary:OneSignalConfig.plugin:generateReleaseRFile
> Task :unityLibrary:OneSignalConfig.plugin:generateReleaseBuildConfig
> Task :unityLibrary:OneSignalConfig.plugin:prepareLintJar UP-TO-DATE
> Task :unityLibrary:OneSignalConfig.plugin:generateReleaseSources
> Task :unityLibrary:OneSignalConfig.plugin:javaPreCompileRelease
> Task :unityLibrary:prepareLintJarForPublish UP-TO-DATE
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:compileReleaseJavaWithJavac
> Task :unityLibrary:OneSignalConfig.plugin:compileReleaseJavaWithJavac
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:bundleLibCompileRelease
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:prepareLintJarForPublish
> Task :unityLibrary:OneSignalConfig.plugin:bundleLibCompileRelease
> Task :unityLibrary:OneSignalConfig.plugin:prepareLintJarForPublish UP-TO-DATE
> Task :unityLibrary:mergeReleaseShaders UP-TO-DATE
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:mergeReleaseShaders
> Task :unityLibrary:compileReleaseShaders UP-TO-DATE
> Task :unityLibrary:generateReleaseAssets UP-TO-DATE
> Task :unityLibrary:OneSignalConfig.plugin:mergeReleaseShaders
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:compileReleaseShaders
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:generateReleaseAssets
> Task :unityLibrary:OneSignalConfig.plugin:compileReleaseShaders
> Task :unityLibrary:OneSignalConfig.plugin:generateReleaseAssets
> Task :unityLibrary:OneSignalConfig.plugin:packageReleaseAssets
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:packageReleaseAssets
> Task :unityLibrary:packageReleaseAssets
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:bundleLibRuntimeRelease
> Task :unityLibrary:OneSignalConfig.plugin:bundleLibRuntimeRelease
> Task :unityLibrary:processReleaseJavaRes NO-SOURCE
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:processReleaseJavaRes NO-SOURCE
> Task :unityLibrary:OneSignalConfig.plugin:processReleaseJavaRes NO-SOURCE
> Task :unityLibrary:mergeReleaseJniLibFolders UP-TO-DATE
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:bundleLibResRelease
> Task :unityLibrary:OneSignalConfig.plugin:bundleLibResRelease
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:mergeReleaseJniLibFolders
> Task :unityLibrary:transformNativeLibsWithMergeJniLibsForRelease UP-TO-DATE
> Task :unityLibrary:OneSignalConfig.plugin:mergeReleaseJniLibFolders
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:transformNativeLibsWithMergeJniLibsForRelease
> Task :unityLibrary:transformNativeLibsWithIntermediateJniLibsForRelease UP-TO-DATE
> Task :unityLibrary:OneSignalConfig.plugin:transformNativeLibsWithMergeJniLibsForRelease
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:transformNativeLibsWithIntermediateJniLibsForRelease
> Task :unityLibrary:OneSignalConfig.plugin:transformNativeLibsWithIntermediateJniLibsForRelease
> Task :unityLibrary:compileReleaseAidl NO-SOURCE
> Task :unityLibrary:compileReleaseRenderscript NO-SOURCE
> Task :unityLibrary:generateReleaseResources UP-TO-DATE
> Task :unityLibrary:packageReleaseResources UP-TO-DATE
> Task :launcher:preReleaseBuild
> Task :launcher:compileReleaseAidl NO-SOURCE
> Task :launcher:compileReleaseRenderscript NO-SOURCE
> Task :launcher:checkReleaseManifest UP-TO-DATE
> Task :launcher:generateReleaseBuildConfig UP-TO-DATE
> Task :launcher:generateReleaseSources UP-TO-DATE
> Task :launcher:mainApkListPersistenceRelease UP-TO-DATE
> Task :launcher:generateReleaseResValues UP-TO-DATE
> Task :launcher:generateReleaseResources UP-TO-DATE
> Task :unityLibrary:generateReleaseRFile
> Task :unityLibrary:generateReleaseSources UP-TO-DATE
> Task :unityLibrary:javaPreCompileRelease
> Task :launcher:mergeReleaseResources
> Task :launcher:createReleaseCompatibleScreenManifests UP-TO-DATE
> Task :launcher:processReleaseManifest
> Task :launcher:processReleaseResources
> Task :launcher:mergeReleaseShaders UP-TO-DATE
> Task :launcher:compileReleaseShaders UP-TO-DATE
> Task :launcher:generateReleaseAssets UP-TO-DATE
> Task :launcher:mergeReleaseAssets
> Task :launcher:validateSigningRelease UP-TO-DATE
> Task :launcher:signingConfigWriterRelease UP-TO-DATE
> Task :launcher:checkReleaseDuplicateClasses
> Task :launcher:mergeReleaseJniLibFolders UP-TO-DATE
> Task :launcher:processReleaseJavaRes NO-SOURCE
> Task :unityLibrary:compileReleaseJavaWithJavac UP-TO-DATE
> Task :unityLibrary:bundleLibCompileRelease UP-TO-DATE
> Task :launcher:javaPreCompileRelease UP-TO-DATE
> Task :unityLibrary:bundleLibRuntimeRelease
> Task :unityLibrary:bundleLibResRelease UP-TO-DATE
> Task :launcher:compileReleaseJavaWithJavac
> Task :launcher:compileReleaseSources
> Task :launcher:lintVitalRelease
D:\Unity Projects Main\onesignaltest3\Temp\gradleOut\unityLibrary\libs\com.google.guava.guava-28.2-android.jar: D8: Type `sun.misc.Unsafe` was not found, it is required for default or static interface methods desugaring of `void com.google.common.util.concurrent.AbstractFuture$UnsafeAtomicHelper.<clinit>()`
D:\Unity Projects Main\onesignaltest3\Temp\gradleOut\unityLibrary\libs\commons-logging.commons-logging-1.2.jar: D8: Interface `javax.servlet.ServletContextListener` not found. It's needed to make sure desugaring of `org.apache.commons.logging.impl.ServletContextCleaner` is correct. Desugaring will assume that this interface has no default method.
D:\Unity Projects Main\onesignaltest3\Temp\gradleOut\unityLibrary\libs\com.google.guava.guava-28.2-android.jar: D8: Type `sun.misc.Unsafe` was not found, it is required for default or static interface methods desugaring of `sun.misc.Unsafe com.google.common.cache.Striped64.getUnsafe()`
D:\Unity Projects Main\onesignaltest3\Temp\gradleOut\unityLibrary\libs\commons-logging.commons-logging-1.2.jar: D8: Type `org.apache.log.Hierarchy` was not found, it is required for default or static interface methods desugaring of `org.apache.log.Logger org.apache.commons.logging.impl.LogKitLogger.getLogger()`
D:\Unity Projects Main\onesignaltest3\Temp\gradleOut\unityLibrary\libs\commons-logging.commons-logging-1.2.jar: D8: Type `org.apache.log4j.Logger` was not found, it is required for default or static interface methods desugaring of `org.apache.log4j.Logger org.apache.commons.logging.impl.Log4JLogger.getLogger()`
D:\Unity Projects Main\onesignaltest3\Temp\gradleOut\unityLibrary\libs\com.google.guava.guava-28.2-android.jar: D8: Type `sun.misc.Unsafe` was not found, it is required for default or static interface methods desugaring of `sun.misc.Unsafe com.google.common.hash.LittleEndianByteArray$UnsafeByteArray.getUnsafe()`
D:\Unity Projects Main\onesignaltest3\Temp\gradleOut\unityLibrary\libs\org.apache.httpcomponents.httpclient-4.5.11.jar: D8: Type `org.ietf.jgss.GSSManager` was not found, it is required for default or static interface methods desugaring of `org.ietf.jgss.GSSManager org.apache.http.impl.auth.GGSSchemeBase.getManager()`
C:\Users\Peter\.gradle\caches\transforms-2\files-2.1\20b7f4e78e0aafdd3b25d5e20b9274c5\jars\classes.jar: D8: Type `androidx.paging.PositionalDataSource` was not found, it is required for default or static interface methods desugaring of `boolean androidx.room.paging.LimitOffsetDataSource.isInvalid()`
C:\Users\Peter\.gradle\caches\transforms-2\files-2.1\daff5f41e88072c19264d127ef806ee5\jars\classes.jar: D8: Type `sun.misc.Unsafe` was not found, it is required for default or static interface methods desugaring of `void com.google.android.gms.internal.ads.zzdxo$zzi.<clinit>()`
C:\Users\Peter\.gradle\caches\transforms-2\files-2.1\a17ad26232274a843651df8001963f04\jars\classes.jar: D8: Type `com.huawei.hms.location.LocationServices` was not found, it is required for default or static interface methods desugaring of `void com.onesignal.HMSLocationController.initHuaweiLocation()`
C:\Users\Peter\.gradle\caches\transforms-2\files-2.1\a17ad26232274a843651df8001963f04\jars\classes.jar: D8: Type `com.google.android.gms.gcm.GoogleCloudMessaging` was not found, it is required for default or static interface methods desugaring of `java.lang.String com.onesignal.PushRegistratorGCM.getToken(java.lang.String)`
C:\Users\Peter\.gradle\caches\transforms-2\files-2.1\a17ad26232274a843651df8001963f04\jars\classes.jar: D8: Type `com.huawei.hms.api.HuaweiApiAvailability` was not found, it is required for default or static interface methods desugaring of `boolean com.onesignal.OSUtils.isHMSCoreInstalledAndEnabled()`
C:\Users\Peter\.gradle\caches\transforms-2\files-2.1\a17ad26232274a843651df8001963f04\jars\classes.jar: D8: Type `com.amazon.device.iap.PurchasingService` was not found, it is required for default or static interface methods desugaring of `void com.onesignal.TrackAmazonPurchase.setListener()`
C:\Users\Peter\.gradle\caches\transforms-2\files-2.1\a17ad26232274a843651df8001963f04\jars\classes.jar: D8: Type `com.amazon.device.iap.model.ProductDataResponse$RequestStatus` was not found, it is required for default or static interface methods desugaring of `void com.onesignal.TrackAmazonPurchase$1.<clinit>()`
C:\Users\Peter\.gradle\caches\transforms-2\files-2.1\a17ad26232274a843651df8001963f04\jars\classes.jar: D8: Type `com.google.firebase.iid.FirebaseInstanceId` was not found, it is required for default or static interface methods desugaring of `java.lang.String com.onesignal.PushRegistratorFCM.getTokenWithClassFirebaseInstanceId(java.lang.String)`
C:\Users\Peter\.gradle\caches\transforms-2\files-2.1\a17ad26232274a843651df8001963f04\jars\classes.jar: D8: Type `com.huawei.hms.location.LocationRequest` was not found, it is required for default or static interface methods desugaring of `void com.onesignal.HMSLocationController$LocationUpdateListener.init()`
C:\Users\Peter\.gradle\caches\transforms-2\files-2.1\a17ad26232274a843651df8001963f04\jars\classes.jar: D8: Type `com.huawei.agconnect.config.AGConnectServicesConfig` was not found, it is required for default or static interface methods desugaring of `void com.onesignal.PushRegistratorHMS.getHMSTokenTask(android.content.Context, com.onesignal.PushRegistrator$RegisteredHandler)`
C:\Users\Peter\.gradle\caches\transforms-2\files-2.1\a17ad26232274a843651df8001963f04\jars\classes.jar: D8: Type `com.huawei.hms.aaid.HmsInstanceId` was not found, it is required for default or static interface methods desugaring of `void com.onesignal.PushRegistratorHMS.getHMSTokenTask(android.content.Context, com.onesignal.PushRegistrator$RegisteredHandler)`
C:\Users\Peter\.gradle\caches\transforms-2\files-2.1\a17ad26232274a843651df8001963f04\jars\classes.jar: D8: Interface `com.huawei.hmf.tasks.OnSuccessListener` not found. It's needed to make sure desugaring of `com.onesignal.HMSLocationController$2` is correct. Desugaring will assume that this interface has no default method.
C:\Users\Peter\.gradle\caches\transforms-2\files-2.1\a17ad26232274a843651df8001963f04\jars\classes.jar: D8: Type `com.amazon.device.iap.PurchasingService` was not found, it is required for default or static interface methods desugaring of `void com.onesignal.TrackAmazonPurchase$OSPurchasingListener.onPurchaseResponse(com.amazon.device.iap.model.PurchaseResponse)`
C:\Users\Peter\.gradle\caches\transforms-2\files-2.1\a17ad26232274a843651df8001963f04\jars\classes.jar: D8: Interface `com.huawei.hmf.tasks.OnFailureListener` not found. It's needed to make sure desugaring of `com.onesignal.HMSLocationController$1` is correct. Desugaring will assume that this interface has no default method.
C:\Users\Peter\.gradle\caches\transforms-2\files-2.1\a17ad26232274a843651df8001963f04\jars\classes.jar: D8: Interface `com.amazon.device.iap.PurchasingListener` not found. It's needed to make sure desugaring of `com.onesignal.TrackAmazonPurchase$OSPurchasingListener` is correct. Desugaring will assume that this interface has no default method.
> Task :launcher:transformClassesWithDexBuilderForRelease

> Task :launcher:transformDexArchiveWithExternalLibsDexMergerForRelease FAILED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.1.1/userguide/command_line_interface.html#sec:command_line_warnings
79 actionable tasks: 51 executed, 28 up-to-date

UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)



error 2...
D8: Cannot fit requested classes in a single dex file (# methods: 84350 > 65536)

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':launcher:transformDexArchiveWithExternalLibsDexMergerForRelease'.
> com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
  The number of method references in a .dex file cannot exceed 64K.
  Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 27s
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8

UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

munster Munktch

unread,
Mar 17, 2022, 11:44:52 AM3/17/22
to Google Mobile Ads SDK Developers
Just adding to this, Onesignal plugin v2.14.6 was installed using the exact steps on onesignals setup guide on their website..

Mobile Ads SDK Forum Advisor

unread,
Mar 18, 2022, 2:23:32 AM3/18/22
to milla...@gmail.com, google-adm...@googlegroups.com

Hi Munster,

Thank you for your response.

Can you confirm if your implementation in your ads is the Unity SDK setup for one signal and not the Google AdMob SDK Unity? If yes, I would suggest to reaching out to their support team to assist you better on this.

Regards,

Google Logo
Princess Pamela
Mobile Ads SDK Team
 


ref:_00D1U1174p._5004Q2Ym2tm:ref
Reply all
Reply to author
Forward
0 new messages