FakeByte / EpicOnlineTransport

A Transport for Mirror using Epic Online Services
MIT License
252 stars 52 forks source link

Build Errors when Compiling for Android #21

Closed JeremyEastham closed 2 years ago

JeremyEastham commented 3 years ago

Unity Version: 2020.3.15f2 (LTS) Mirror Version: v44.0.2 (latest) EpicOnlineTransport Version: v1.5.0 (latest) JDK Version: OpenJDK 1.8.0_152 (installed with Unity) Gradle Version: 4.0.1 (?) (installed with Unity) Android SDK/NDK/Build Tools Version: Unknown (installed with Unity) OS Version: Windows 10 Home 21H1, Build 19043.1110, Windows Feature Experience Pack 120.2212.3530

I cannot get a blank Android project to build. Building for Windows works without issue.

Steps to Reproduce:

  1. Create a blank 2D Unity project
  2. Import entire EpicOnlineTransport.unitypackage
  3. Import entire Mirror package from Package Manager
  4. Switch platform to Android in Build Settings
  5. Attempt Build
  6. Notice the following errors:
    Found plugins with same names and architectures, Assets/Mirror/Runtime/Transport/EpicOnlineTransport/EOSSDK/Android/libs/armeabi-v7a/libEOSSDK.so () and Assets/Mirror/Runtime/Transport/EpicOnlineTransport/EOSSDK/Android/libs/arm64-v8a/libEOSSDK.so (). Assign different architectures or delete the duplicate.
    UnityEditor.AndroidPluginImporterExtension:CheckFileCollisions (string)
    UnityEditorInternal.PluginsHelper:CheckFileCollisions (UnityEditor.BuildTarget)
    UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
    Plugins colliding with each other.
    Build completed with a result of 'Failed' in 10 seconds (10174 ms)
    UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
    UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors
    at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002ca] in <44c3723143904fb88deebc993c7bb491>:0 
    at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in <44c3723143904fb88deebc993c7bb491>:0 
    UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
  7. Fix build errors by changing CPU in the Import Settings of Assets\Mirror\Runtime\Transport\EpicOnlineTransport\EOSSDK\Android\libs\arm64-v8a\libEOSSDK.so to ARM64
  8. Observe that the build fails again with different errors:
    
    Starting a Gradle Daemon, 1 incompatible and 2 stopped Daemons could not be reused, use --status for details

Configure project :launcher WARNING: The option setting 'android.enableR8=false' is deprecated. It will be removed in version 5.0 of the Android Gradle plugin. You will no longer be able to disable R8 Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\30.0.2\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-29\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\30.0.2\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-29\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only

Task :unityLibrary:preBuild UP-TO-DATE Task :launcher:preBuild UP-TO-DATE Task :launcher:preReleaseBuild UP-TO-DATE Task :unityLibrary:preReleaseBuild UP-TO-DATE Task :unityLibrary:compileReleaseAidl NO-SOURCE Task :unityLibrary:packageReleaseRenderscript NO-SOURCE Task :unityLibrary:compileReleaseRenderscript NO-SOURCE Task :unityLibrary:generateReleaseResValues Task :unityLibrary:generateReleaseResources Task :launcher:generateReleaseBuildConfig Task :launcher:compileReleaseAidl NO-SOURCE Task :launcher:compileReleaseRenderscript NO-SOURCE Task :launcher:generateReleaseResValues Task :launcher:generateReleaseResources Task :launcher:createReleaseCompatibleScreenManifests Task :launcher:extractDeepLinksRelease Task :launcher:prepareLintJar Task :launcher:mergeReleaseShaders Task :unityLibrary:packageReleaseResources Task :unityLibrary:extractDeepLinksRelease Task :launcher:checkReleaseDuplicateClasses Task :launcher:javaPreCompileRelease Task :unityLibrary:processReleaseManifest Task :unityLibrary:generateReleaseBuildConfig Task :unityLibrary:parseReleaseLocalResources

Task :launcher:processReleaseManifest FAILED

See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.

Task :launcher:mergeReleaseResources Task :unityLibrary:compileReleaseLibraryResources Task :unityLibrary:prepareLintJarForPublish Task :unityLibrary:javaPreCompileRelease Task :unityLibrary:generateReleaseRFile Task :launcher:desugarReleaseFileDependencies 21 actionable tasks: 21 executed

UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

C:\Users\user\Documents\Unity Projects\EOS Android Test\Temp\gradleOut\launcher\src\main\AndroidManifest.xml Error: uses-sdk:minSdkVersion 19 cannot be smaller than version 23 declared in library [:eos-sdk:] C:\Users\user.gradle\caches\transforms-2\files-2.1\db5e8cb5ac6b3801ae923af60d09d5e4\eos-sdk\AndroidManifest.xml as the library might be using APIs not available in 19 Suggestion: use a compatible library with a minSdk of at most 19, or increase this project's minSdk version to at least 23, or use tools:overrideLibrary="com.epicgames.mobile.eossdk" to force usage (may lead to runtime failures)

FAILURE: Build failed with an exception.

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

UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

CommandInvokationFailure: Gradle build failed. C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK\bin\java.exe -classpath "C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-6.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"

stderr[ C:\Users\user\Documents\Unity Projects\EOS Android Test\Temp\gradleOut\launcher\src\main\AndroidManifest.xml Error: uses-sdk:minSdkVersion 19 cannot be smaller than version 23 declared in library [:eos-sdk:] C:\Users\user.gradle\caches\transforms-2\files-2.1\db5e8cb5ac6b3801ae923af60d09d5e4\eos-sdk\AndroidManifest.xml as the library might be using APIs not available in 19 Suggestion: use a compatible library with a minSdk of at most 19, or increase this project's minSdk version to at least 23, or use tools:overrideLibrary="com.epicgames.mobile.eossdk" to force usage (may lead to runtime failures)

FAILURE: Build failed with an exception.

BUILD FAILED in 15s Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 ] stdout[ Starting a Gradle Daemon, 1 incompatible and 2 stopped Daemons could not be reused, use --status for details

Configure project :launcher WARNING: The option setting 'android.enableR8=false' is deprecated. It will be removed in version 5.0 of the Android Gradle plugin. You will no longer be able to disable R8 Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\30.0.2\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-29\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\30.0.2\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-29\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only

Task :unityLibrary:preBuild UP-TO-DATE Task :launcher:preBuild UP-TO-DATE Task :launcher:preReleaseBuild UP-TO-DATE Task :unityLibrary:preReleaseBuild UP-TO-DATE Task :unityLibrary:compileReleaseAidl NO-SOURCE Task :unityLibrary:packageReleaseRenderscript NO-SOURCE Task :unityLibrary:compileReleaseRenderscript NO-SOURCE Task :unityLibrary:generateReleaseResValues Task :unityLibrary:generateReleaseResources Task :launcher:generateReleaseBuildConfig Task :launcher:compileReleaseAidl NO-SOURCE Task :launcher:compileReleaseRenderscript NO-SOURCE Task :launcher:generateReleaseResValues Task :launcher:generateReleaseResources Task :launcher:createReleaseCompatibleScreenManifests Task :launcher:extractDeepLinksRelease Task :launcher:prepareLintJar Task :launcher:mergeReleaseShaders Task :unityLibrary:packageReleaseResources Task :unityLibrary:extractDeepLinksRelease Task :launcher:checkReleaseDuplicateClasses Task :launcher:javaPreCompileRelease Task :unityLibrary:processReleaseManifest Task :unityLibrary:generateReleaseBuildConfig Task :unityLibrary:parseReleaseLocalResources

Task :launcher:processReleaseManifest FAILED

See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.

Task :launcher:mergeReleaseResources Task :unityLibrary:compileReleaseLibraryResources Task :unityLibrary:prepareLintJarForPublish Task :unityLibrary:javaPreCompileRelease Task :unityLibrary:generateReleaseRFile Task :launcher:desugarReleaseFileDependencies 21 actionable tasks: 21 executed ] exit code: 1 UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at :0) UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at :0) UnityEditor.Android.Command.Run (System.String command, System.String args, System.String workingdir, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at :0) UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action1[T] progress, System.String error) (at <f5a27061d5634be188a0593af20cb363>:0) UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action1[T] progress) (at :0) Rethrow as GradleInvokationException: Gradle build failed UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action`1[T] progress) (at :0) UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at :0) UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at :0) Rethrow as BuildFailedException: Exception of type 'UnityEditor.Build.BuildFailedException' was thrown. UnityEditor.Android.PostProcessor.CancelPostProcess.AbortBuild (System.String title, System.String message, System.Exception ex) (at :0) UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at :0) UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at :0) UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at :0) UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <44c3723143904fb88deebc993c7bb491>:0) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

Build completed with a result of 'Failed' in 127 seconds (126513 ms) UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

UnityEditor.BuildPlayerWindow+BuildMethodException: 4 errors at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002ca] in <44c3723143904fb88deebc993c7bb491>:0 at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in <44c3723143904fb88deebc993c7bb491>:0 UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

9. Adjust the Minimum API Level in `Project Settings > Player > Android > Other Settings > Identification` to `Android 6.0 'Marshmallow' (API Level 23)`
10. Attempt Build again
11. The build fails again with the following errors:

A failure occured while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade See the Console for details.

Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details

Configure project :launcher WARNING: The option setting 'android.enableR8=false' is deprecated. It will be removed in version 5.0 of the Android Gradle plugin. You will no longer be able to disable R8 Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\30.0.2\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-29\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\30.0.2\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-29\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only

Task :launcher:preBuild UP-TO-DATE Task :unityLibrary:preBuild UP-TO-DATE Task :unityLibrary:preReleaseBuild UP-TO-DATE Task :launcher:preReleaseBuild UP-TO-DATE Task :unityLibrary:compileReleaseAidl NO-SOURCE Task :unityLibrary:packageReleaseRenderscript NO-SOURCE Task :launcher:generateReleaseBuildConfig UP-TO-DATE Task :launcher:compileReleaseAidl NO-SOURCE Task :unityLibrary:compileReleaseRenderscript NO-SOURCE Task :launcher:compileReleaseRenderscript NO-SOURCE Task :unityLibrary:generateReleaseResValues UP-TO-DATE Task :unityLibrary:generateReleaseResources UP-TO-DATE Task :launcher:javaPreCompileRelease UP-TO-DATE Task :launcher:generateReleaseResValues UP-TO-DATE Task :launcher:generateReleaseResources UP-TO-DATE Task :launcher:createReleaseCompatibleScreenManifests UP-TO-DATE Task :launcher:extractDeepLinksRelease UP-TO-DATE Task :unityLibrary:packageReleaseResources UP-TO-DATE Task :launcher:prepareLintJar UP-TO-DATE Task :unityLibrary:extractDeepLinksRelease UP-TO-DATE Task :launcher:mergeReleaseResources UP-TO-DATE Task :launcher:mergeReleaseShaders UP-TO-DATE Task :launcher:checkReleaseDuplicateClasses UP-TO-DATE Task :launcher:desugarReleaseFileDependencies UP-TO-DATE Task :launcher:compileReleaseShaders NO-SOURCE Task :launcher:generateReleaseAssets UP-TO-DATE Task :launcher:processReleaseJavaRes NO-SOURCE Task :launcher:collectReleaseDependencies UP-TO-DATE Task :launcher:sdkReleaseDependencyData UP-TO-DATE Task :launcher:mergeExtDexRelease UP-TO-DATE Task :launcher:mergeReleaseJniLibFolders UP-TO-DATE Task :launcher:validateSigningRelease UP-TO-DATE Task :unityLibrary:compileReleaseLibraryResources UP-TO-DATE Task :unityLibrary:parseReleaseLocalResources UP-TO-DATE Task :unityLibrary:generateReleaseBuildConfig UP-TO-DATE Task :unityLibrary:javaPreCompileRelease UP-TO-DATE Task :unityLibrary:prepareLintJarForPublish UP-TO-DATE Task :unityLibrary:mergeReleaseShaders UP-TO-DATE Task :unityLibrary:compileReleaseShaders NO-SOURCE Task :unityLibrary:generateReleaseAssets UP-TO-DATE Task :unityLibrary:packageReleaseAssets Task :unityLibrary:processReleaseJavaRes NO-SOURCE Task :unityLibrary:bundleLibResRelease NO-SOURCE Task :unityLibrary:mergeReleaseJniLibFolders UP-TO-DATE Task :unityLibrary:mergeReleaseNativeLibs UP-TO-DATE Task :launcher:mergeReleaseAssets Task :launcher:mergeReleaseJavaResource UP-TO-DATE Task :unityLibrary:stripReleaseDebugSymbols UP-TO-DATE Task :unityLibrary:copyReleaseJniLibsProjectOnly UP-TO-DATE Task :unityLibrary:processReleaseManifest Task :launcher:mergeReleaseNativeLibs UP-TO-DATE Task :unityLibrary:generateReleaseRFile UP-TO-DATE Task :unityLibrary:compileReleaseJavaWithJavac UP-TO-DATE Task :unityLibrary:bundleLibCompileToJarRelease UP-TO-DATE Task :unityLibrary:bundleLibRuntimeToJarRelease UP-TO-DATE Task :launcher:processReleaseManifest Task :launcher:processReleaseResources FAILED 39 actionable tasks: 5 executed, 34 up-to-date

UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

FAILURE: Build failed with an exception.

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

UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

CommandInvokationFailure: Gradle build failed. C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK\bin\java.exe -classpath "C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-6.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"

stderr[

FAILURE: Build failed with an exception.

BUILD FAILED in 12s Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 ] stdout[ Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details

Configure project :launcher WARNING: The option setting 'android.enableR8=false' is deprecated. It will be removed in version 5.0 of the Android Gradle plugin. You will no longer be able to disable R8 Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\30.0.2\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-29\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\30.0.2\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-29\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.15f2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only

Task :launcher:preBuild UP-TO-DATE Task :unityLibrary:preBuild UP-TO-DATE Task :unityLibrary:preReleaseBuild UP-TO-DATE Task :launcher:preReleaseBuild UP-TO-DATE Task :unityLibrary:compileReleaseAidl NO-SOURCE Task :unityLibrary:packageReleaseRenderscript NO-SOURCE Task :launcher:generateReleaseBuildConfig UP-TO-DATE Task :launcher:compileReleaseAidl NO-SOURCE Task :unityLibrary:compileReleaseRenderscript NO-SOURCE Task :launcher:compileReleaseRenderscript NO-SOURCE Task :unityLibrary:generateReleaseResValues UP-TO-DATE Task :unityLibrary:generateReleaseResources UP-TO-DATE Task :launcher:javaPreCompileRelease UP-TO-DATE Task :launcher:generateReleaseResValues UP-TO-DATE Task :launcher:generateReleaseResources UP-TO-DATE Task :launcher:createReleaseCompatibleScreenManifests UP-TO-DATE Task :launcher:extractDeepLinksRelease UP-TO-DATE Task :unityLibrary:packageReleaseResources UP-TO-DATE Task :launcher:prepareLintJar UP-TO-DATE Task :unityLibrary:extractDeepLinksRelease UP-TO-DATE Task :launcher:mergeReleaseResources UP-TO-DATE Task :launcher:mergeReleaseShaders UP-TO-DATE Task :launcher:checkReleaseDuplicateClasses UP-TO-DATE Task :launcher:desugarReleaseFileDependencies UP-TO-DATE Task :launcher:compileReleaseShaders NO-SOURCE Task :launcher:generateReleaseAssets UP-TO-DATE Task :launcher:processReleaseJavaRes NO-SOURCE Task :launcher:collectReleaseDependencies UP-TO-DATE Task :launcher:sdkReleaseDependencyData UP-TO-DATE Task :launcher:mergeExtDexRelease UP-TO-DATE Task :launcher:mergeReleaseJniLibFolders UP-TO-DATE Task :launcher:validateSigningRelease UP-TO-DATE Task :unityLibrary:compileReleaseLibraryResources UP-TO-DATE Task :unityLibrary:parseReleaseLocalResources UP-TO-DATE Task :unityLibrary:generateReleaseBuildConfig UP-TO-DATE Task :unityLibrary:javaPreCompileRelease UP-TO-DATE Task :unityLibrary:prepareLintJarForPublish UP-TO-DATE Task :unityLibrary:mergeReleaseShaders UP-TO-DATE Task :unityLibrary:compileReleaseShaders NO-SOURCE Task :unityLibrary:generateReleaseAssets UP-TO-DATE Task :unityLibrary:packageReleaseAssets Task :unityLibrary:processReleaseJavaRes NO-SOURCE Task :unityLibrary:bundleLibResRelease NO-SOURCE Task :unityLibrary:mergeReleaseJniLibFolders UP-TO-DATE Task :unityLibrary:mergeReleaseNativeLibs UP-TO-DATE Task :launcher:mergeReleaseAssets Task :launcher:mergeReleaseJavaResource UP-TO-DATE Task :unityLibrary:stripReleaseDebugSymbols UP-TO-DATE Task :unityLibrary:copyReleaseJniLibsProjectOnly UP-TO-DATE Task :unityLibrary:processReleaseManifest Task :launcher:mergeReleaseNativeLibs UP-TO-DATE Task :unityLibrary:generateReleaseRFile UP-TO-DATE Task :unityLibrary:compileReleaseJavaWithJavac UP-TO-DATE Task :unityLibrary:bundleLibCompileToJarRelease UP-TO-DATE Task :unityLibrary:bundleLibRuntimeToJarRelease UP-TO-DATE Task :launcher:processReleaseManifest Task :launcher:processReleaseResources FAILED 39 actionable tasks: 5 executed, 34 up-to-date ] exit code: 1 UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at :0) UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at :0) UnityEditor.Android.Command.Run (System.String command, System.String args, System.String workingdir, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at :0) UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action1[T] progress, System.String error) (at <f5a27061d5634be188a0593af20cb363>:0) UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action1[T] progress) (at :0) Rethrow as GradleInvokationException: Gradle build failed UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action`1[T] progress) (at :0) UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at :0) UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at :0) Rethrow as BuildFailedException: Exception of type 'UnityEditor.Build.BuildFailedException' was thrown. UnityEditor.Android.PostProcessor.CancelPostProcess.AbortBuild (System.String title, System.String message, System.Exception ex) (at :0) UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at :0) UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at :0) UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at :0) UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <44c3723143904fb88deebc993c7bb491>:0) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

Build completed with a result of 'Failed' in 64 seconds (63936 ms)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
UnityEditor.BuildPlayerWindow+BuildMethodException: 4 errors
  at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002ca] in <44c3723143904fb88deebc993c7bb491>:0 
  at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in <44c3723143904fb88deebc993c7bb491>:0 
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

I'm not sure how to fix these last build errors. I've tried messing with custom gradle build files, different project settings, adding a keystore, running the editor as admin, and trying an IL2CPP build, and I still can't get it to build.