Building an APK with Android X support libraries

I’ve seen a lot of threads online giving different suggestions on how to successfully make a build, but not all of them apply to all cases, and it’s very confusing.

There would be different steps for these 3 different situations, depending on how you are making a build:

  1. Making an apk directly from Unity - does Unity already support Android X?
  2. Exporting to Android Studio, then open the menu Refactor → Migrate to AndroidX - most information is covering this case
  3. Building through CI with Gradle - didn’t find any information about this. Is this the case where you need to use Jetifier?

I made my ARM7+x86+ARM64 IL2CPP builds using AndroidX libs directly in Unity. But, it was pretty painful.

I was using Unity 2019.1.10f. My PlayServicesResolver was 1.2.122.

In fact, resolver is very agressive and was pushing me into AndroidX libraries. If I switched Jetifier (in its setting off) it poped up messages suggesting switching it on and if I did not want to, it ususally was not able to finish resolving. So, it forces you to use AndroidX libraries…
… but there were missing these lines in gradle.properties file, which was causing errors for me:

android.enableJetifier = true```

I posted separate thread here how to solve it: https://discussions.unity.com/t/750693

Other problem was, that for some reason some bad old (and not androidX) libraries were getting into generated Gradle file (creating duplicate references to both Android and AndroidX library). What helped was to completely delete Library directory (yes, I had to make some settings again)

Other problem I had is not strictly related to Android/AndroidX, but may help someone. Sometimes you can get libraries into gradle file, which may be duplicates. Two examples:
- Heyzap has renamed android-sdk-release.aar into android-sdk-legacy-release.aar If you do not delete old file then both will get into gradle build and it will fail,
- If updating from old Unity Ads, that were installed into Assets to new version installed in Packages, make sure to clear all leftovers in Assets. Otherwise you can again get duplicate libraries.
1 Like

Not really when you want to have Jetifier enabled. Jetifier enables some libraries which are not updated to AndroidX to work with other AndroidX libraries.

This isn’t required, if you are above 2018.2 with some post processing script. I will get to that in a while.

As mentioned above, you need to patch the gradle.properties file with couple of flags. Also you need to enable “Uses Jetifier” (you will find this option from 1.2.119) in Play Services Resolver Android Settings so that resolver will make sure you don’t have both androidx.* and com.android.support.* libraries exist at same time (as if both exists leads to duplicate issues)

And coming on how to automate the process, we share a script we used in our plugin which you can find here . Just look for the second script which is for patching the gradle.properties automatically. Copy the file contents to a file in any Editor folder, thats it!

Cheers,
VB Team

Just a tip for anyone who is struggling with the clash between AndroidX and support libraries in their Unity exports: I was able to fix some duplicate library errors by simply removing the outdated support dependencies from the Unity-generated module. So far, so good.

I can’t build my android project please someone help me on teamviewer?

It’s been 5 days i am eating my mind no help at all from anywhere tried everything

Post your issue here.

Task :unityLibrary:preBuild UP-TO-DATE
Task :unityLibrary:preDebugBuild UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:preBuild UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:preDebugBuild UP-TO-DATE
Task :launcher:preBuild UP-TO-DATE
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:preBuild UP-TO-DATE
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:preDebugBuild UP-TO-DATE
Task :unityLibrary:checkDebugManifest UP-TO-DATE
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:checkDebugManifest
Task :unityLibrary:FirebaseApp.androidlib:checkDebugManifest
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:processDebugManifest
Task :unityLibrary:FirebaseApp.androidlib:processDebugManifest
Task :unityLibrary:processDebugManifest
Task :unityLibrary:FirebaseApp.androidlib:compileDebugAidl NO-SOURCE
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:compileDebugAidl NO-SOURCE
Task :unityLibrary:packageDebugRenderscript NO-SOURCE
Task :launcher:preDebugBuild
Task :launcher:compileDebugRenderscript NO-SOURCE
Task :launcher:checkDebugManifest UP-TO-DATE
Task :unityLibrary:compileDebugAidl NO-SOURCE
Task :launcher:generateDebugBuildConfig UP-TO-DATE
Task :launcher:compileDebugAidl NO-SOURCE
Task :launcher:prepareLintJar UP-TO-DATE
Task :launcher:generateDebugSources UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:packageDebugRenderscript NO-SOURCE
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:packageDebugRenderscript NO-SOURCE
Task :unityLibrary:generateDebugBuildConfig UP-TO-DATE
Task :unityLibrary:compileDebugRenderscript NO-SOURCE
Task :unityLibrary:generateDebugResValues UP-TO-DATE
Task :unityLibrary:generateDebugResources UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:compileDebugRenderscript NO-SOURCE
Task :unityLibrary:FirebaseApp.androidlib:generateDebugResValues
Task :unityLibrary:FirebaseApp.androidlib:generateDebugResources
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:compileDebugRenderscript NO-SOURCE
Task :unityLibrary:packageDebugResources UP-TO-DATE
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:generateDebugResValues
Task :unityLibrary:prepareLintJar UP-TO-DATE
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:generateDebugResources
Task :unityLibrary:generateDebugSources UP-TO-DATE
Task :launcher:mainApkListPersistenceDebug UP-TO-DATE
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:packageDebugResources
Task :unityLibrary:FirebaseApp.androidlib:packageDebugResources
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:generateDebugRFile
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:generateDebugBuildConfig
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:prepareLintJar UP-TO-DATE
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:generateDebugSources
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:javaPreCompileDebug
Task :unityLibrary:FirebaseApp.androidlib:generateDebugRFile
Task :unityLibrary:FirebaseApp.androidlib:generateDebugBuildConfig
Task :unityLibrary:FirebaseApp.androidlib:prepareLintJar UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:generateDebugSources
Task :unityLibrary:FirebaseApp.androidlib:javaPreCompileDebug
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:compileDebugJavaWithJavac
Task :unityLibrary:FirebaseApp.androidlib:compileDebugJavaWithJavac
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:bundleLibCompileDebug
Task :unityLibrary:FirebaseApp.androidlib:bundleLibCompileDebug
Task :launcher:generateDebugResValues UP-TO-DATE
Task :launcher:generateDebugResources UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:mergeDebugShaders
Task :unityLibrary:FirebaseApp.androidlib:compileDebugShaders
Task :unityLibrary:FirebaseApp.androidlib:generateDebugAssets
Task :unityLibrary:FirebaseApp.androidlib:packageDebugAssets
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:mergeDebugShaders
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:compileDebugShaders
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:generateDebugAssets
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:packageDebugAssets
Task :unityLibrary:FirebaseApp.androidlib:bundleLibRuntimeDebug
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:bundleLibRuntimeDebug
Task :unityLibrary:generateDebugRFile
Task :unityLibrary:mergeDebugShaders UP-TO-DATE
Task :unityLibrary:compileDebugShaders UP-TO-DATE
Task :unityLibrary:generateDebugAssets UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:processDebugJavaRes NO-SOURCE
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:processDebugJavaRes NO-SOURCE
Task :unityLibrary:FirebaseApp.androidlib:bundleLibResDebug
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:bundleLibResDebug
Task :unityLibrary:FirebaseApp.androidlib:mergeDebugJniLibFolders
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:mergeDebugJniLibFolders
Task :unityLibrary:FirebaseApp.androidlib:transformNativeLibsWithMergeJniLibsForDebug
Task :unityLibrary:FirebaseApp.androidlib:transformNativeLibsWithIntermediateJniLibsForDebug
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:transformNativeLibsWithMergeJniLibsForDebug
Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:transformNativeLibsWithIntermediateJniLibsForDebug
Task :unityLibrary:packageDebugAssets
Task :unityLibrary:javaPreCompileDebug

Task :unityLibrary:compileDebugJavaWithJavac

Task :unityLibrary:bundleLibCompileDebug UP-TO-DATE
Task :unityLibrary:bundleLibRuntimeDebug
Task :unityLibrary:processDebugJavaRes NO-SOURCE
Task :unityLibrary:bundleLibResDebug UP-TO-DATE
Task :unityLibrary:mergeDebugJniLibFolders UP-TO-DATE
Task :unityLibrary:transformNativeLibsWithMergeJniLibsForDebug UP-TO-DATE
Task :launcher:mergeDebugResources
Task :launcher:javaPreCompileDebug UP-TO-DATE
Task :launcher:createDebugCompatibleScreenManifests UP-TO-DATE
Task :unityLibrary:transformNativeLibsWithIntermediateJniLibsForDebug

Task :launcher:processDebugManifest
/Users/asadjutt/Desktop/ThullaOnline/Temp/gradleOut/launcher/src/main/AndroidManifest.xml:27:9-34:50 Warning:
activity#com.google.firebase.auth.internal.FederatedSignInActivity@android:launchMode was tagged at AndroidManifest.xml:27 to replace other declarations but no other declaration present

Task :launcher:processDebugResources

Task :launcher:compileDebugJavaWithJavac 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 Command-Line Interface
66 actionable tasks: 46 executed, 20 up-to-date

UnityEngine.GUIUtility:processEvent (int,intptr) (at /Users/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:197)

Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
Note: /Users/asadjutt/Desktop/ThullaOnline/Temp/gradleOut/unityLibrary/src/main/java/com/unity3d/player/UnityPlayerActivity.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
An exception has occurred in the compiler (1.8.0-adoptopenjdk). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you.
java.lang.AssertionError: annotationType(): unrecognized Attribute name MODULE (class com.sun.tools.javac.util.UnsharedNameTable$NameImpl)
at com.sun.tools.javac.util.Assert.error(Assert.java:133)
at com.sun.tools.javac.code.TypeAnnotations.annotationType(TypeAnnotations.java:231)
at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.separateAnnotationsKinds(TypeAnnotations.java:294)
at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitVarDef(TypeAnnotations.java:1164)
at com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:852)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:275)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57)
at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitClassDef(TypeAnnotations.java:1042)
at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:693)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:275)
at com.sun.tools.javac.code.TypeAnnotations$1.run(TypeAnnotations.java:127)
at com.sun.tools.javac.comp.Annotate.flush(Annotate.java:152)
at com.sun.tools.javac.comp.Annotate.enterDone(Annotate.java:129)
at com.sun.tools.javac.comp.Enter.complete(Enter.java:512)
at com.sun.tools.javac.comp.Enter.main(Enter.java:471)
at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:982)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:857)
at com.sun.tools.javac.main.Main.compile(Main.java:523)
at com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:129)
at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:138)
at org.gradle.api.internal.tasks.compile.AnnotationProcessingCompileTask.call(AnnotationProcessingCompileTask.java:91)
at org.gradle.api.internal.tasks.compile.ResourceCleaningCompilationTask.call(ResourceCleaningCompilationTask.java:57)
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:50)
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:36)
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:100)
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:52)
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:38)
at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:51)
at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:37)
at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:39)
at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory$2.execute(IncrementalCompilerFactory.java:110)
at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory$2.execute(IncrementalCompilerFactory.java:106)
at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:59)
at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:43)
at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$2.call(CompileJavaBuildOperationReportingCompiler.java:59)
at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$2.call(CompileJavaBuildOperationReportingCompiler.java:51)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:315)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:305)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:101)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler.execute(CompileJavaBuildOperationReportingCompiler.java:51)
at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:154)
at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:122)
at com.android.build.gradle.tasks.AndroidJavaCompile.compile(AndroidJavaCompile.kt:214)
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 org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:47)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:41)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$2.run(ExecuteActionsTaskExecuter.java:284)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:273)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:258)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$200(ExecuteActionsTaskExecuter.java:67)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:145)
at org.gradle.internal.execution.impl.steps.ExecuteStep.execute(ExecuteStep.java:49)
at org.gradle.internal.execution.impl.steps.CancelExecutionStep.execute(CancelExecutionStep.java:34)
at org.gradle.internal.execution.impl.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:69)
at org.gradle.internal.execution.impl.steps.TimeoutStep.execute(TimeoutStep.java:49)
at org.gradle.internal.execution.impl.steps.CatchExceptionStep.execute(CatchExceptionStep.java:33)
at org.gradle.internal.execution.impl.steps.CreateOutputsStep.execute(CreateOutputsStep.java:50)
at org.gradle.internal.execution.impl.steps.SnapshotOutputStep.execute(SnapshotOutputStep.java:43)
at org.gradle.internal.execution.impl.steps.SnapshotOutputStep.execute(SnapshotOutputStep.java:29)
at org.gradle.internal.execution.impl.steps.CacheStep.executeWithoutCache(CacheStep.java:134)
at org.gradle.internal.execution.impl.steps.CacheStep.lambda$execute$3(CacheStep.java:83)
at java.util.Optional.orElseGet(Optional.java:267)
at org.gradle.internal.execution.impl.steps.CacheStep.execute(CacheStep.java:82)
at org.gradle.internal.execution.impl.steps.CacheStep.execute(CacheStep.java:36)
at org.gradle.internal.execution.impl.steps.PrepareCachingStep.execute(PrepareCachingStep.java:33)
at org.gradle.internal.execution.impl.steps.StoreSnapshotsStep.execute(StoreSnapshotsStep.java:38)
at org.gradle.internal.execution.impl.steps.StoreSnapshotsStep.execute(StoreSnapshotsStep.java:23)
at org.gradle.internal.execution.impl.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:96)
at org.gradle.internal.execution.impl.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:89)
at java.util.Optional.map(Optional.java:215)
at org.gradle.internal.execution.impl.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:52)
at org.gradle.internal.execution.impl.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:36)
at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:34)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:91)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:91)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:119)
at org.gradle.api.internal.tasks.execution.ResolvePreviousStateExecuter.execute(ResolvePreviousStateExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:93)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:45)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:94)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:56)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:67)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:49)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:315)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:305)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:101)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:49)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:43)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:355)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:134)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:129)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:202)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:193)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:129)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:748)

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ‘:launcher:compileDebugJavaWithJavac’.

Compilation failed; see the compiler error output for details.

  • 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 15s

UnityEngine.GUIUtility:processEvent (int,intptr) (at /Users/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:197)

Using Firebase, Admob, Facebook, Pun2 mainly and unity 2019.4.27f1 and tried earlier versions of unity as well same issue there as well

In-case, if you have Target API (in Player Settings → Android → Other Settings) which is set to automatic or Api 31, change the setting to Api 30 explicitly and try making a build.

Brother accidentally i tried minimum target api to 24 and it did make .apk but haven’t tried yet with ARM64 building .aab file. Thanks for your reply I will let you know if some issue comes, please help me a bit if needed again. Thanks alot I can’t say in words

Ideally, it should work for any thing below target api 31

Yeah can you please tell me when my app published on Android login Facebook sdk not working. On debug development it worked fine. Thanks

Please create another thread to not deviate from this thread.