Unity2022打包安卓报错的奇葩问题

  大家好,我是阿赵。最近遇到一个Unity2022打包安卓的问题,记录一下。如果遇到同样报错的朋友,建议不用看过程,直接跳到最后面看结论。
  这次打包不是我自己的项目,而是拿了一个别人的项目。当我要打包安卓apk的时候,出现了报错:
在这里插入图片描述

在这里插入图片描述

  第一段报错

Configure project :launcher WARNING:The option setting ‘android.aapt2FromMavenOverride=D:\Program
Files\Unity\Editor\2022.3.62f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\34.0.0\aapt2.exe’
is experimental. WARNING:We recommend using a newer Android Gradle
plugin to use compileSdk = 35

This Android Gradle plugin (7.4.2) was tested up to compileSdk = 33

This warning can be suppressed by adding
android.suppressUnsupportedCompileSdk=35 to this project’s gradle.properties

The build will continue, but you are strongly encouraged to update
your project to use a newer Android Gradle Plugin that has been tested
with compileSdk = 35

Task :unityLibrary:preBuild UP-TO-DATE
Task :unityLibrary:preReleaseBuild UP-TO-DATE
Task :unityLibrary:compileReleaseAidl NO-SOURCE
Task :unityLibrary:mergeReleaseJniLibFolders UP-TO-DATE
Task :unityLibrary:mergeReleaseNativeLibs UP-TO-DATE
Task :launcher:preBuild UP-TO-DATE
Task :launcher:preReleaseBuild UP-TO-DATE
Task :launcher:compileReleaseAidl NO-SOURCE
Task :launcher:generateReleaseBuildConfig UP-TO-DATE
Task :launcher:javaPreCompileRelease UP-TO-DATE
Task :launcher:generateReleaseResValues UP-TO-DATE
Task :launcher:createReleaseCompatibleScreenManifests UP-TO-DATE
Task :launcher:extractProguardFiles UP-TO-DATE
Task :launcher:mergeReleaseJniLibFolders UP-TO-DATE
Task :launcher:checkReleaseDuplicateClasses UP-TO-DATE
Task :unityLibrary:compileReleaseRenderscript NO-SOURCE
Task :unityLibrary:generateReleaseResValues UP-TO-DATE
Task :unityLibrary:extractDeepLinksForAarRelease UP-TO-DATE
Task :unityLibrary:generateReleaseBuildConfig UP-TO-DATE
Task :unityLibrary:generateReleaseResources UP-TO-DATE
Task :launcher:mergeReleaseShaders 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:validateSigningRelease UP-TO-DATE
Task :launcher:writeReleaseAppMetadata UP-TO-DATE
Task :launcher:writeReleaseSigningConfigVersions UP-TO-DATE
Task :unityLibrary:stripReleaseDebugSymbols
Task :unityLibrary:packageReleaseResources
Task :unityLibrary:copyReleaseJniLibsProjectAndLocalJars UP-TO-DATE
Task :unityLibrary:javaPreCompileRelease 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:packageReleaseRenderscript NO-SOURCE
Task :unityLibrary:prepareLintJarForPublish UP-TO-DATE
Task :unityLibrary:prepareReleaseArtProfile UP-TO-DATE
Task :unityLibrary:processReleaseJavaRes UP-TO-DATE
Task :unityLibrary:mergeReleaseJavaResource UP-TO-DATE
Task :unityLibrary:writeReleaseAarMetadata UP-TO-DATE
Task :unityLibrary:extractDeepLinksRelease UP-TO-DATE
Task :launcher:mergeReleaseAssets
Task :launcher:compileReleaseRenderscript NO-SOURCE
Task :unityLibrary:bundleLibResRelease UP-TO-DATE
Task :unityLibrary:writeReleaseLintModelMetadata UP-TO-DATE
Task :unityLibrary:copyReleaseJniLibsProjectOnly UP-TO-DATE
Task :unityLibrary:parseReleaseLocalResources
Task :unityLibrary:compileReleaseLibraryResources
Task :launcher:checkReleaseAarMetadata
Task :launcher:mapReleaseSourceSetPaths
Task :launcher:generateReleaseResources UP-TO-DATE
Task :unityLibrary:processReleaseManifest
Task :launcher:extractDeepLinksRelease UP-TO-DATE
Task :launcher:processReleaseMainManifest
Task :launcher:processReleaseManifest
Task :launcher:mergeReleaseNativeLibs UP-TO-DATE
Task :launcher:mergeReleaseArtProfile UP-TO-DATE
Task :launcher:stripReleaseDebugSymbols
Task :launcher:mergeReleaseJavaResource UP-TO-DATE
Task :launcher:compressReleaseAssets
Task :unityLibrary:generateReleaseRFile
Task :unityLibrary:extractReleaseAnnotations
Task :launcher:mergeReleaseResources
Task :launcher:processReleaseManifestForPackage
Task :launcher:extractReleaseNativeSymbolTables
Task :launcher:mergeReleaseNativeDebugMetadata NO-SOURCE
Task :launcher:processReleaseResources
Task :launcher:optimizeReleaseResources

Task :unityLibrary:compileReleaseJavaWithJavac

Task :unityLibrary:mergeReleaseGeneratedProguardFiles UP-TO-DATE
Task :unityLibrary:mergeReleaseConsumerProguardFiles UP-TO-DATE
Task :unityLibrary:syncReleaseLibJars UP-TO-DATE
Task :unityLibrary:bundleReleaseLocalLintAar
Task :unityLibrary:bundleLibRuntimeToJarRelease UP-TO-DATE
Task :unityLibrary:createFullJarRelease UP-TO-DATE
Task :unityLibrary:bundleLibCompileToJarRelease
Task :launcher:compileReleaseJavaWithJavac
Task :launcher:lintVitalAnalyzeRelease FAILED
Task :launcher:desugarReleaseFileDependencies 65 actionable tasks: 26 executed, 39 up-to-date

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

第二段报错

ע:
D:\liweizhao\Projects\Unity2022Test\Library\Bee\Android\Prj\Mono2x\Gradle\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.javaʹ�û򸲸����ѹ�ʱ��
API�� ע: �й���ϸ��Ϣ, ��ʹ�� -Xlint:deprecation ���±��롣

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.

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

Could not resolve all files for configuration ‘:launcher:releaseCompileClasspath’.
Failed to transform out.aar (project :unityLibrary) to match attributes {artifactType=android-lint-exploded-aar,
com.android.build.api.attributes.AgpVersionAttr=7.4.2,
com.android.build.api.attributes.BuildTypeAttr=release,
com.android.build.gradle.internal.attributes.VariantAttr=release,
org.gradle.usage=java-api}.
Execution failed for ExtractAarTransform: D:\liweizhao\Projects\Unity2022Test\Library\Bee\Android\Prj\Mono2x\Gradle\unityLibrary\build\intermediates\local_aar_for_lint\release\out.aar.
malformed input off : 8, length : 1

  • 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.
==============================================================================

2: Task failed with an exception.

  • What went wrong: java.lang.StackOverflowError (no error message)

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

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

第三段报错

CommandInvokationFailure: Gradle build failed. D:\Program
Files\Unity\Editor\2022.3.62f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK\bin\java.exe
-classpath “D:\Program Files\Unity\Editor\2022.3.62f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-7.5.1.jar”
org.gradle.launcher.GradleMain “-Dorg.gradle.jvmargs=-Xmx4096m”
“assembleRelease”

Environment Variables: RlsSvcPort = 22112 USERDOMAIN = DESKTOP-MMCMR26
ProgramFiles = C:\Program Files TMP =
C:\Users\daoran\AppData\Local\Temp PROCESSOR_REVISION = 9702 OS =
Windows_NT CHROME_CRASHPAD_PIPE_NAME =
\.\pipe\crashpad_15508_XUTIEVVVBELLRUTK PROCESSOR_IDENTIFIER =
Intel64 Family 6 Model 151 Stepping 2, GenuineIntel JAVA_HMOE =
C:\Program Files\Java\jdk-24 DevEco Studio = D:\Program
Files\Huawei\DevEco Studio\bin; ADSK_CLM_WPAD_PROXY_CHECK = FALSE
3DSMAX_2011_PATH = D:\Program Files (x86)\Autodesk\3ds Max 2011
3DSMAX_2011x64_PATH = D:\Program Files\Autodesk\3ds Max 2011
USERPROFILE = C:\Users\daoran JAVA_HOME = D:\Program
Files\Unity\Editor\2022.3.62f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK
CommonProgramFiles = C:\Program Files\Common Files DriverData =
C:\Windows\System32\Drivers\DriverData ComSpec =
C:\Windows\system32\cmd.exe PSModulePath = C:\Program
Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules
ANDROID_NDK_ROOT = D:\Program
Files\Unity\Editor\2022.3.62f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK
SystemRoot = C:\Windows HDC_SERVER_PORT = 65037 NUMBER_OF_PROCESSORS =
20 ADSK_3DSMAX_x64_2018 = D:\Program Files\Autodesk\3ds Max 2018
NODE_HOME = D:\Program Files\nodejs ProgramW6432 = C:\Program Files
FPS_BROWSER_APP_PROFILE_STRING = Internet Explorer ACSetupSvcPort =
23210 Path = C:\Program Files\Common
Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program
Files\dotnet;C:\Program Files\TortoiseGit\bin;C:\Program
Files\Git\cmd;D:\Program
Files\Unity\Editor\2020.3.48f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\bin;D:\Program
Files\nodejs;C:\Program Files\TortoiseSVN\bin;C:\Program Files
(x86)\Common Files\Autodesk Shared;C:\Program Files\Common
Files\Autodesk Shared;C:\Program Files
(x86)\Autodesk\Backburner;C:\Users\daoran\AppData\Local\Microsoft\WindowsApps;D:\Program
Files\Huawei\DevEco
Studio\bin;;C:\Users\daoran\AppData\Roaming\npm;D:\Program
Files\nodejs;D:\Program Files\nodejs\node_global;D:\Program
Files\nodejs\node_cache;D:\Program
Files\Tuanjie\Hub\Editor\2022.3.55t4\Editor\Data\PlaybackEngines\OpenHarmonyPlayer\SDK\14\toolchains;D:\Program
Files\Microsoft VS Code\bin ACSvcPort = 17532 USERNAME = daoran
COMPUTERNAME = DESKTOP-MMCMR26 USERDOMAIN_ROAMINGPROFILE =
DESKTOP-MMCMR26 PATHEXT =
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC ALLUSERSPROFILE
= C:\ProgramData SystemDrive = C: windir = C:\Windows PROCESSOR_ARCHITECTURE = AMD64 FPS_BROWSER_USER_PROFILE_STRING =
Default HOMEPATH = \Users\daoran PUBLIC = C:\Users\Public
CommonProgramFiles(x86) = C:\Program Files (x86)\Common Files APPDATA
= C:\Users\daoran\AppData\Roaming OneDrive = C:\Users\daoran\OneDrive PROCESSOR_LEVEL = 6 CommonProgramW6432 = C:\Program Files\Common Files
ProgramFiles(x86) = C:\Program Files (x86) SESSIONNAME = Console
LOGONSERVER = \DESKTOP-MMCMR26 LOCALAPPDATA =
C:\Users\daoran\AppData\Local HOMEDRIVE = C: TEMP =
C:\Users\daoran\AppData\Local\Temp ProgramData = C:\ProgramData
ORIGINAL_XDG_CURRENT_DESKTOP = undefined

stderr[ ע:
D:\liweizhao\Projects\Unity2022Test\Library\Bee\Android\Prj\Mono2x\Gradle\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.javaʹ�û򸲸����ѹ�ʱ��
API�� ע: �й���ϸ��Ϣ, ��ʹ�� -Xlint:deprecation ���±��롣

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.

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

Could not resolve all files for configuration ‘:launcher:releaseCompileClasspath’.
Failed to transform out.aar (project :unityLibrary) to match attributes {artifactType=android-lint-exploded-aar,
com.android.build.api.attributes.AgpVersionAttr=7.4.2,
com.android.build.api.attributes.BuildTypeAttr=release,
com.android.build.gradle.internal.attributes.VariantAttr=release,
org.gradle.usage=java-api}.
Execution failed for ExtractAarTransform: D:\liweizhao\Projects\Unity2022Test\Library\Bee\Android\Prj\Mono2x\Gradle\unityLibrary\build\intermediates\local_aar_for_lint\release\out.aar.
malformed input off : 8, length : 1

  • 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.
==============================================================================

2: Task failed with an exception.

  • What went wrong: java.lang.StackOverflowError (no error message)

  • 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 6s ] stdout[

Configure project :launcher WARNING:The option setting ‘android.aapt2FromMavenOverride=D:\Program
Files\Unity\Editor\2022.3.62f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\34.0.0\aapt2.exe’
is experimental. WARNING:We recommend using a newer Android Gradle
plugin to use compileSdk = 35

This Android Gradle plugin (7.4.2) was tested up to compileSdk = 33

This warning can be suppressed by adding
android.suppressUnsupportedCompileSdk=35 to this project’s gradle.properties

The build will continue, but you are strongly encouraged to update
your project to use a newer Android Gradle Plugin that has been tested
with compileSdk = 35

Task :unityLibrary:preBuild UP-TO-DATE
Task :unityLibrary:preReleaseBuild UP-TO-DATE
Task :unityLibrary:compileReleaseAidl NO-SOURCE
Task :unityLibrary:mergeReleaseJniLibFolders UP-TO-DATE
Task :unityLibrary:mergeReleaseNativeLibs UP-TO-DATE
Task :launcher:preBuild UP-TO-DATE
Task :launcher:preReleaseBuild UP-TO-DATE
Task :launcher:compileReleaseAidl NO-SOURCE
Task :launcher:generateReleaseBuildConfig UP-TO-DATE
Task :launcher:javaPreCompileRelease UP-TO-DATE
Task :launcher:generateReleaseResValues UP-TO-DATE
Task :launcher:createReleaseCompatibleScreenManifests UP-TO-DATE
Task :launcher:extractProguardFiles UP-TO-DATE
Task :launcher:mergeReleaseJniLibFolders UP-TO-DATE
Task :launcher:checkReleaseDuplicateClasses UP-TO-DATE
Task :unityLibrary:compileReleaseRenderscript NO-SOURCE
Task :unityLibrary:generateReleaseResValues UP-TO-DATE
Task :unityLibrary:extractDeepLinksForAarRelease UP-TO-DATE
Task :unityLibrary:generateReleaseBuildConfig UP-TO-DATE
Task :unityLibrary:generateReleaseResources UP-TO-DATE
Task :launcher:mergeReleaseShaders 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:validateSigningRelease UP-TO-DATE
Task :launcher:writeReleaseAppMetadata UP-TO-DATE
Task :launcher:writeReleaseSigningConfigVersions UP-TO-DATE
Task :unityLibrary:stripReleaseDebugSymbols
Task :unityLibrary:packageReleaseResources
Task :unityLibrary:copyReleaseJniLibsProjectAndLocalJars UP-TO-DATE
Task :unityLibrary:javaPreCompileRelease 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:packageReleaseRenderscript NO-SOURCE
Task :unityLibrary:prepareLintJarForPublish UP-TO-DATE
Task :unityLibrary:prepareReleaseArtProfile UP-TO-DATE
Task :unityLibrary:processReleaseJavaRes UP-TO-DATE
Task :unityLibrary:mergeReleaseJavaResource UP-TO-DATE
Task :unityLibrary:writeReleaseAarMetadata UP-TO-DATE
Task :unityLibrary:extractDeepLinksRelease UP-TO-DATE
Task :launcher:mergeReleaseAssets
Task :launcher:compileReleaseRenderscript NO-SOURCE
Task :unityLibrary:bundleLibResRelease UP-TO-DATE
Task :unityLibrary:writeReleaseLintModelMetadata UP-TO-DATE
Task :unityLibrary:copyReleaseJniLibsProjectOnly UP-TO-DATE
Task :unityLibrary:parseReleaseLocalResources
Task :unityLibrary:compileReleaseLibraryResources
Task :launcher:checkReleaseAarMetadata
Task :launcher:mapReleaseSourceSetPaths
Task :launcher:generateReleaseResources UP-TO-DATE
Task :unityLibrary:processReleaseManifest
Task :launcher:extractDeepLinksRelease UP-TO-DATE
Task :launcher:processReleaseMainManifest
Task :launcher:processReleaseManifest
Task :launcher:mergeReleaseNativeLibs UP-TO-DATE
Task :launcher:mergeReleaseArtProfile UP-TO-DATE
Task :launcher:stripReleaseDebugSymbols
Task :launcher:mergeReleaseJavaResource UP-TO-DATE
Task :launcher:compressReleaseAssets
Task :unityLibrary:generateReleaseRFile
Task :unityLibrary:extractReleaseAnnotations
Task :launcher:mergeReleaseResources
Task :launcher:processReleaseManifestForPackage
Task :launcher:extractReleaseNativeSymbolTables
Task :launcher:mergeReleaseNativeDebugMetadata NO-SOURCE
Task :launcher:processReleaseResources
Task :launcher:optimizeReleaseResources

Task :unityLibrary:compileReleaseJavaWithJavac

Task :unityLibrary:mergeReleaseGeneratedProguardFiles UP-TO-DATE
Task :unityLibrary:mergeReleaseConsumerProguardFiles UP-TO-DATE
Task :unityLibrary:syncReleaseLibJars UP-TO-DATE
Task :unityLibrary:bundleReleaseLocalLintAar
Task :unityLibrary:bundleLibRuntimeToJarRelease UP-TO-DATE
Task :unityLibrary:createFullJarRelease UP-TO-DATE
Task :unityLibrary:bundleLibCompileToJarRelease
Task :launcher:compileReleaseJavaWithJavac
Task :launcher:lintVitalAnalyzeRelease FAILED
Task :launcher:desugarReleaseFileDependencies 65 actionable tasks: 26 executed, 39 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 <a631c81d31c24e309c6e2dbd2bac1385>:0) UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, Unity.Android.Gradle.AndroidGradle androidGradle, 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,
Unity.Android.Gradle.AndroidGradle androidGradle, 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)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

  从第一段报错看,似乎好像是SDK版本的问题,因为我是选择了已安装的最高版本sdk来打包的:
在这里插入图片描述

  于是我就降一下sdk版本,再次打包,看能不能解决这个问题。
  结果情况是一样的报错:

在这里插入图片描述

在这里插入图片描述

  这次的报错有点不一样
第一段报错:

Configure project :launcher WARNING:The option setting ‘android.aapt2FromMavenOverride=D:\Program
Files\Unity\Editor\2022.3.62f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\34.0.0\aapt2.exe’
is experimental.

Task :unityLibrary:preBuild UP-TO-DATE
Task :unityLibrary:preReleaseBuild UP-TO-DATE
Task :unityLibrary:compileReleaseAidl NO-SOURCE
Task :launcher:preBuild UP-TO-DATE
Task :launcher:preReleaseBuild UP-TO-DATE
Task :launcher:compileReleaseAidl NO-SOURCE
Task :launcher:generateReleaseBuildConfig UP-TO-DATE
Task :unityLibrary:mergeReleaseJniLibFolders UP-TO-DATE
Task :launcher:javaPreCompileRelease UP-TO-DATE
Task :launcher:generateReleaseResValues UP-TO-DATE
Task :launcher:createReleaseCompatibleScreenManifests UP-TO-DATE
Task :unityLibrary:mergeReleaseNativeLibs UP-TO-DATE
Task :launcher:extractProguardFiles UP-TO-DATE
Task :launcher:mergeReleaseJniLibFolders UP-TO-DATE
Task :unityLibrary:stripReleaseDebugSymbols UP-TO-DATE
Task :unityLibrary:copyReleaseJniLibsProjectAndLocalJars UP-TO-DATE
Task :unityLibrary:compileReleaseRenderscript NO-SOURCE
Task :unityLibrary:generateReleaseResValues UP-TO-DATE
Task :unityLibrary:extractDeepLinksForAarRelease UP-TO-DATE
Task :unityLibrary:generateReleaseBuildConfig UP-TO-DATE
Task :unityLibrary:generateReleaseResources UP-TO-DATE
Task :unityLibrary:packageReleaseResources UP-TO-DATE
Task :launcher:checkReleaseDuplicateClasses UP-TO-DATE
Task :unityLibrary:parseReleaseLocalResources UP-TO-DATE
Task :launcher:desugarReleaseFileDependencies UP-TO-DATE
Task :launcher:mergeExtDexRelease UP-TO-DATE
Task :unityLibrary:processReleaseManifest UP-TO-DATE
Task :launcher:mergeReleaseShaders 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 :unityLibrary:generateReleaseRFile UP-TO-DATE
Task :launcher:validateSigningRelease UP-TO-DATE
Task :launcher:writeReleaseAppMetadata UP-TO-DATE
Task :launcher:writeReleaseSigningConfigVersions UP-TO-DATE
Task :unityLibrary:extractReleaseAnnotations UP-TO-DATE
Task :unityLibrary:javaPreCompileRelease UP-TO-DATE
Task :unityLibrary:compileReleaseJavaWithJavac UP-TO-DATE
Task :unityLibrary:mergeReleaseGeneratedProguardFiles UP-TO-DATE
Task :unityLibrary:mergeReleaseConsumerProguardFiles 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:packageReleaseRenderscript NO-SOURCE
Task :unityLibrary:prepareLintJarForPublish UP-TO-DATE
Task :unityLibrary:prepareReleaseArtProfile UP-TO-DATE
Task :unityLibrary:processReleaseJavaRes UP-TO-DATE
Task :unityLibrary:mergeReleaseJavaResource UP-TO-DATE
Task :unityLibrary:syncReleaseLibJars UP-TO-DATE
Task :unityLibrary:writeReleaseAarMetadata UP-TO-DATE
Task :launcher:mergeReleaseAssets
Task :launcher:compileReleaseRenderscript NO-SOURCE
Task :launcher:checkReleaseAarMetadata UP-TO-DATE
Task :launcher:mapReleaseSourceSetPaths UP-TO-DATE
Task :launcher:generateReleaseResources UP-TO-DATE
Task :launcher:mergeReleaseResources UP-TO-DATE
Task :launcher:extractDeepLinksRelease UP-TO-DATE
Task :launcher:mergeReleaseArtProfile UP-TO-DATE
Task :launcher:compressReleaseAssets
Task :unityLibrary:bundleReleaseLocalLintAar
Task :unityLibrary:extractDeepLinksRelease UP-TO-DATE
Task :unityLibrary:compileReleaseLibraryResources UP-TO-DATE
Task :unityLibrary:bundleLibCompileToJarRelease UP-TO-DATE
Task :unityLibrary:bundleLibResRelease UP-TO-DATE
Task :launcher:processReleaseMainManifest UP-TO-DATE
Task :unityLibrary:bundleLibRuntimeToJarRelease UP-TO-DATE
Task :launcher:processReleaseManifest UP-TO-DATE
Task :unityLibrary:createFullJarRelease UP-TO-DATE
Task :launcher:processReleaseManifestForPackage UP-TO-DATE
Task :unityLibrary:writeReleaseLintModelMetadata UP-TO-DATE
Task :unityLibrary:copyReleaseJniLibsProjectOnly UP-TO-DATE
Task :launcher:mergeReleaseNativeLibs UP-TO-DATE
Task :launcher:stripReleaseDebugSymbols UP-TO-DATE
Task :launcher:extractReleaseNativeSymbolTables UP-TO-DATE
Task :launcher:mergeReleaseNativeDebugMetadata NO-SOURCE
Task :launcher:mergeReleaseJavaResource
Task :launcher:processReleaseResources
Task :launcher:compileReleaseJavaWithJavac UP-TO-DATE
Task :launcher:lintVitalAnalyzeRelease FAILED 65 actionable tasks: 7 executed, 58 up-to-date

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

第二段报错

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.

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

Could not resolve all files for configuration ‘:launcher:releaseCompileClasspath’.
Failed to transform out.aar (project :unityLibrary) to match attributes {artifactType=android-lint-exploded-aar,
com.android.build.api.attributes.AgpVersionAttr=7.4.2,
com.android.build.api.attributes.BuildTypeAttr=release,
com.android.build.gradle.internal.attributes.VariantAttr=release,
org.gradle.usage=java-api}.
Execution failed for ExtractAarTransform: D:\liweizhao\Projects\Unity2022Test\Library\Bee\Android\Prj\Mono2x\Gradle\unityLibrary\build\intermediates\local_aar_for_lint\release\out.aar.
malformed input off : 8, length : 1

  • 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.
==============================================================================

2: Task failed with an exception.

  • What went wrong: java.lang.StackOverflowError (no error message)

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

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

  第三段报错是和之前一样的。
  最后经过了各方面的查找资料之后,发现原因居然是在StreamingAssets文件夹里面有中文文件名的文件……比如这样:
在这里插入图片描述

  在这种情况下,怎么打包都报错。但如果改成英文名:
在这里插入图片描述

  这时候再次打包,就成功了:
在这里插入图片描述

  同样的操作,在Unity2020是没问题的。所以我感觉是Unity2022的限制。

<think>我们正在解决Unity2022进行Android打包时出现的“CommandInvokationFailure:Gradlebuildfailed”问题。根据之前的对话和引用内容,我们可以总结出以下关键点:1.引用[1]提到了构建任务的组织方式(使用Plugin方式),但用户当前的问题可能涉及Gradle配置。2.引用[2]提到在baseProjectTemplate.gradle中添加了一行lint依赖,这可能解决某些构建问题。3.引用[3]显示Gradle下载超时(从https://services.gradle.org下载超时),这可能是网络问题。4.引用[4]指出Gradle插件版本需要设置为7.4.2。结合Unity2022的要求,以下为解决方案:###一、检查并设置正确的Gradle和Android插件版本Unity2022通常要求使用较新的Gradle版本(如7.6.x或更高)和AndroidGradlePlugin版本(如7.0.4或更高)。但请注意,具体版本可能因Unity版本而异。####步骤:1.**修改Gradle版本**:-在Unity编辑器中,打开`PlayerSettings`->`PublishingSettings`。-勾选`UseBaseGradleTemplate`(如果尚未勾选),这将生成`mainTemplate.gradle`文件(位于`Assets/Plugins/Android`目录)。-打开`mainTemplate.gradle`,确保在`buildscript`部分使用正确的Gradle插件版本。例如:```gradlebuildscript{repositories{google()mavenCentral()}dependencies{//注意:这里的版本需要与Unity2022兼容classpath'com.android.tools.build:gradle:7.4.2'//参考引用[4]//如果遇到lint相关错误,可添加引用[2]中的lint依赖classpath'com.android.tools.lint:lint:26.3.2'}}```-同时,在`gradle/wrapper/gradle-wrapper.properties`中指定Gradle发行版URL。由于引用[3]提到下载超时,建议:-检查网络,或尝试使用镜像URL(如腾讯云镜像)。-修改`distributionUrl`为国内镜像(注意版本号):```propertiesdistributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.6-bin.zip```2.**设置JDK路径**:-Unity2022通常要求JDK11或更高版本。确保在Unity的`Preferences`->`ExternalTools`中设置正确的JDK路径(如安装的OpenJDK11)。###二、解决依赖冲突和网络问题1.**修改仓库源**:在`mainTemplate.gradle`的`allprojects`部分添加国内镜像源,加速依赖下载:```gradleallprojects{repositories{google()mavenCentral()//添加阿里云镜像maven{url'https://maven.aliyun.com/repository/google'}maven{url'https://maven.aliyun.com/repository/public'}}}```2.**统一依赖版本**:如果多个模块依赖同一个库的不同版本,可在`mainTemplate.gradle`中添加全局约束:```gradlesubprojects{configurations.all{resolutionStrategy{force'com.android.support:appcompat-v7:28.0.0'//示例}}}```###三、其他常见修复1.**清除缓存**:删除项目中的`library`、`build`文件夹以及`<user>/.gradle/caches`目录,然后重新构建。2.**检查AndroidSDK和NDK**:确保在Unity的`ExternalTools`中设置了正确的AndroidSDK和NDK路径(Unity2022通常需要NDKr21+)。###四、调试构建日志如果上述步骤仍无法解决,需查看详细错误日志:1.在Unity构建窗口中,点击`BuildAndRun`,失败后查看`Console`中的完整输出。2.或直接到项目临时路径查看Gradle日志(路径通常为`<Project>/Temp/gradle-out.log`)。针对常见的错误类型:-**依赖下载失败**:修改仓库源,或手动下载依赖放入缓存。-**版本冲突**:通过`resolutionStrategy`强制统一版本。-**API级别不匹配**:在`PlayerSettings`中调整`minSdkVersion`和`targetSdkVersion`。###示例:修改后的baseProjectTemplate.gradle(关键部分)```gradle//baseProjectTemplate.gradlebuildscript{repositories{google()mavenCentral()maven{url'https://maven.aliyun.com/repository/google'}//阿里云镜像}dependencies{classpath'com.android.tools.build:gradle:7.4.2'//推荐版本classpath'com.android.tools.lint:lint:26.3.2'//引用[2]中的解决方式}}allprojects{repositories{google()mavenCentral()maven{url'https://maven.aliyun.com/repository/public'}//阿里云镜像}}```[^1]:[关于Gradle任务组织的说明](#)[^2]:[添加lint依赖解决构建问题](#)[^3]:[Gradle下载超时问题](#)[^4]:[设置Gradle插件版本为7.4.2](#)§§相关问题§§1.Unity2022支持哪些版本的AndroidGradle插件?2.如何为Unity项目配置国内Gradle镜像加速构建?3.如何解决UnityAndroid打包时出现的依赖冲突问题?</think> ### Unity 2022 Android打包Gradle构建失败解决方案 针对Unity 2022中出现的`CommandInvokationFailure: Gradle build failed`错误,以下是逐步解决方案: #### 1. 更新Gradle插件版本(关键步骤) Unity 2022需要Gradle插件7.4.2+版本[^4]: ```gradle // build.gradle plugins { id 'com.android.application' version '7.4.2' apply false id 'com.android.library' version '7.4.2' apply false } ``` 在Unity中激活自定义模板: 1. `Project Settings > Player > Publishing Settings` 2. 勾选`Custom Base Gradle Template` 3. 修改Assets/Plugins/Android/baseProjectTemplate.gradle #### 2. 解决网络超时问题 对于Gradle下载超时问题[^3]: - **临时方案**:手动下载[gradle-8.6-bin.zip](https://services.gradle.org/distributions/) - **永久方案**: ```properties // gradle-wrapper.properties distributionUrl=file:///C:/gradle/gradle-8.6-bin.zip // 本地路径 ``` #### 3. 添加必要依赖 在baseProjectTemplate.gradle中添加lint依赖[^2]: ```gradle buildscript { dependencies { classpath 'com.android.tools.lint:lint:26.3.2' classpath 'com.android.tools.build:gradle:7.4.2' } } ``` #### 4. 项目结构优化 采用插件管理构建任务[^1]: 1. 创建buildSrc模块 2. 添加自定义任务管理: ```kotlin // buildSrc/src/main/kotlin/TasksPlugin.kt class TasksPlugin : Plugin<Project> { override fun apply(project: Project) { project.tasks.register("copyUnitySDKToDemo") { // 实现拷贝逻辑 } } } ``` #### 5. JDK兼容性设置 1. 安装OpenJDK 11 2. 在Unity中配置路径: `Edit > Preferences > External Tools > JDK Path` #### 6. 验证配置 最终文件结构: ``` ├── build.gradle ├── settings.gradle ├── gradle.properties ├── gradle/wrapper/ │ └── gradle-wrapper.properties └── buildSrc/ // 自定义任务管理[^1] ``` [^1]: [构建任务管理的插件实现](#) [^2]: [lint依赖添加解决编译问题](#) [^3]: [Gradle下载超时解决方案](#) [^4]: [Gradle插件版本兼容性要求](#)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值