Problems and solutions encountered by unity3d2021.3.11f1 when generating android APK

Prerequisite: Windows computer, unity3d2021.3.11f1 long-term support version LTS

First, let’s talk about the problems encountered: it was stuck for a long time when building the apk, and then an error occurred. Look at the detailed problem in the console window. Because the problem has been solved, the error log has been erased. Here I borrow the error message of a foreign boss, except for the version. , others are basically the same as mine. If you need it, you can also read the original text (you may need scientific Internet access): java - Unity 2021.3.4f1 Gradle Build failed - Stack Overflow

error1:

> 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\2021.3.4f1\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\2021.3.4f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml.
> Probably the SDK is read-only
> Exception while marshalling C:\Program
> Files\Unity\Hub\Editor\2021.3.4f1\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\2021.3.4f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-30\package.xml.
> Probably the SDK is read-only
> Exception while marshalling C:\Program
> Files\Unity\Hub\Editor\2021.3.4f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml.
> Probably the SDK is read-only
> Exception while marshalling C:\Program
> Files\Unity\Hub\Editor\2021.3.4f1\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\2021.3.4f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml.
> Probably the SDK is read-only
> Exception while marshalling C:\Program
> Files\Unity\Hub\Editor\2021.3.4f1\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\2021.3.4f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-30\package.xml.
> Probably the SDK is read-only
> Exception while marshalling C:\Program
> Files\Unity\Hub\Editor\2021.3.4f1\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:checkReleaseDuplicateClasses
> > Task :unityLibrary:packageReleaseResources
> > Task :unityLibrary:extractDeepLinksRelease
> > Task :unityLibrary:processReleaseManifest
> > Task :launcher:javaPreCompileRelease
> > Task :launcher:processReleaseManifest
> > Task :launcher:mergeReleaseShaders
> > Task :launcher:compileReleaseShaders NO-SOURCE
> > Task :launcher:generateReleaseAssets UP-TO-DATE
> > Task :launcher:processReleaseJavaRes NO-SOURCE
> > Task :launcher:collectReleaseDependencies
> > Task :launcher:sdkReleaseDependencyData
> > Task :launcher:mergeReleaseJniLibFolders
> > Task :launcher:validateSigningRelease
> > Task :launcher:desugarReleaseFileDependencies
> > Task :launcher:mergeReleaseResources
> > Task :launcher:mergeExtDexRelease
> > Task :unityLibrary:generateReleaseBuildConfig
> > Task :unityLibrary:compileReleaseLibraryResources
> > Task :unityLibrary:mergeReleaseShaders
> > Task :unityLibrary:compileReleaseShaders
> NO-SOURCE
> > Task :unityLibrary:generateReleaseAssets
> UP-TO-DATE
> > Task :unityLibrary:packageReleaseAssets
> > Task :unityLibrary:prepareLintJarForPublish
> > Task :unityLibrary:processReleaseJavaRes
> NO-SOURCE
> > Task :unityLibrary:bundleLibResRelease
> NO-SOURCE
> > Task :launcher:mergeReleaseAssets
> > Task :unityLibrary:mergeReleaseJniLibFolders
> > Task :unityLibrary:parseReleaseLocalResources
> > Task :launcher:mergeReleaseJavaResource
> > Task :unityLibrary:javaPreCompileRelease
> > Task :unityLibrary:mergeReleaseNativeLibs
> > Task :unityLibrary:stripReleaseDebugSymbols
> > Task :unityLibrary:copyReleaseJniLibsProjectOnly
> > Task :unityLibrary:generateReleaseRFile
> > Task :launcher:processReleaseResources
> > Task :launcher:mergeReleaseNativeLibs
> > Task :launcher:stripReleaseDebugSymbols
> 
> > Task :unityLibrary:compileReleaseJavaWithJavac
> 
> > Task :unityLibrary:bundleLibRuntimeToJarRelease
> > Task :unityLibrary:bundleLibCompileToJarRelease
> > Task :launcher:compileReleaseJavaWithJavac
> > Task :launcher:compileReleaseSources
> > Task :launcher:lintVitalRelease
> > Task :launcher:dexBuilderRelease
> > Task :launcher:mergeDexRelease
> > Task :launcher:packageRelease FAILED 45 actionable tasks: 45 executed
> 
> UnityEditor.GenericMenu:CatchMenu
> (object,string[],int)

error2:

Note: D:\Unity Development\EndMan 1\EndMan1\Library\Bee\Android\Prj\Mono2x\Gradle\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: D:\Unity Development\EndMan 1\EndMan1\Library\Bee\Android\Prj\Mono2x\Gradle\unityLibrary\src\main\java\com\unity\androidnotifications\UnityNotificationManager.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':launcher:packageRelease'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > com.android.ide.common.signing.KeytoolException: Failed to read key AndroidDebugKey from store "C:\Users\Samprit Hazra\.android\debug.keystore": Invalid keystore format

* 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 2m 25s
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8

UnityEditor.GenericMenu:CatchMenu (object,string[],int)

error3:

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

stderr[
Note: D:\Unity Development\EndMan 1\EndMan1\Library\Bee\Android\Prj\Mono2x\Gradle\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: D:\Unity Development\EndMan 1\EndMan1\Library\Bee\Android\Prj\Mono2x\Gradle\unityLibrary\src\main\java\com\unity\androidnotifications\UnityNotificationManager.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':launcher:packageRelease'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > com.android.ide.common.signing.KeytoolException: Failed to read key AndroidDebugKey from store "C:\Users\Samprit Hazra\.android\debug.keystore": Invalid keystore format

* 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 2m 25s
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\2021.3.4f1\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\2021.3.4f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2021.3.4f1\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\2021.3.4f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-30\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2021.3.4f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2021.3.4f1\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\2021.3.4f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2021.3.4f1\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\2021.3.4f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-30\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2021.3.4f1\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:checkReleaseDuplicateClasses
> Task :unityLibrary:packageReleaseResources
> Task :unityLibrary:extractDeepLinksRelease
> Task :unityLibrary:processReleaseManifest
> Task :launcher:javaPreCompileRelease
> Task :launcher:processReleaseManifest
> Task :launcher:mergeReleaseShaders
> Task :launcher:compileReleaseShaders NO-SOURCE
> Task :launcher:generateReleaseAssets UP-TO-DATE
> Task :launcher:processReleaseJavaRes NO-SOURCE
> Task :launcher:collectReleaseDependencies
> Task :launcher:sdkReleaseDependencyData
> Task :launcher:mergeReleaseJniLibFolders
> Task :launcher:validateSigningRelease
> Task :launcher:desugarReleaseFileDependencies
> Task :launcher:mergeReleaseResources
> Task :launcher:mergeExtDexRelease
> Task :unityLibrary:generateReleaseBuildConfig
> Task :unityLibrary:compileReleaseLibraryResources
> Task :unityLibrary:mergeReleaseShaders
> Task :unityLibrary:compileReleaseShaders NO-SOURCE
> Task :unityLibrary:generateReleaseAssets UP-TO-DATE
> Task :unityLibrary:packageReleaseAssets
> Task :unityLibrary:prepareLintJarForPublish
> Task :unityLibrary:processReleaseJavaRes NO-SOURCE
> Task :unityLibrary:bundleLibResRelease NO-SOURCE
> Task :launcher:mergeReleaseAssets
> Task :unityLibrary:mergeReleaseJniLibFolders
> Task :unityLibrary:parseReleaseLocalResources
> Task :launcher:mergeReleaseJavaResource
> Task :unityLibrary:javaPreCompileRelease
> Task :unityLibrary:mergeReleaseNativeLibs
> Task :unityLibrary:stripReleaseDebugSymbols
> Task :unityLibrary:copyReleaseJniLibsProjectOnly
> Task :unityLibrary:generateReleaseRFile
> Task :launcher:processReleaseResources
> Task :launcher:mergeReleaseNativeLibs
> Task :launcher:stripReleaseDebugSymbols

> Task :unityLibrary:compileReleaseJavaWithJavac

> Task :unityLibrary:bundleLibRuntimeToJarRelease
> Task :unityLibrary:bundleLibCompileToJarRelease
> Task :launcher:compileReleaseJavaWithJavac
> Task :launcher:compileReleaseSources
> Task :launcher:lintVitalRelease
> Task :launcher:dexBuilderRelease
> Task :launcher:mergeDexRelease
> Task :launcher:packageRelease FAILED
45 actionable tasks: 45 executed
]
exit code: 1
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <c3a2c42a45424b88b29dfadf7f497cbb>:0)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <c3a2c42a45424b88b29dfadf7f497cbb>:0)
UnityEditor.Android.Command.Run (System.String command, System.String args, System.String workingdir, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <c3a2c42a45424b88b29dfadf7f497cbb>:0)
UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action`1[T] progress, System.String error) (at <c3a2c42a45424b88b29dfadf7f497cbb>:0)
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 <c3a2c42a45424b88b29dfadf7f497cbb>: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 <c3a2c42a45424b88b29dfadf7f497cbb>:0)
UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <c3a2c42a45424b88b29dfadf7f497cbb>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <c3a2c42a45424b88b29dfadf7f497cbb>: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 <c3a2c42a45424b88b29dfadf7f497cbb>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <c3a2c42a45424b88b29dfadf7f497cbb>:0)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, AndroidPlayerBuildProgram.Data.AndroidPlayerBuildProgramOutput buildProgramOutput) (at <c3a2c42a45424b88b29dfadf7f497cbb>:0)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <c3a2c42a45424b88b29dfadf7f497cbb>:0)
UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.Int32 subtarget, System.String installPath,

Compare the above error log to see if it is the same as yours. If the log is dazzling, you can actually look for the key information in it. The following is the cause of this problem.

* What went wrong:
Execution failed for task ':launcher:packageRelease'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > com.android.ide.common.signing.KeytoolException: Failed to read key AndroidDebugKey from store "C:\Users\Samprit Hazra\.android\debug.keystore": Invalid keystore format

The general meaning is that the key AndroidDebugKey cannot be read from the storage "C:\Users\Samprit Hazra.android\debug.keystore": The keystore format is invalid.

Now that we know the reason, we can easily solve it. Let’s just come up with a violent solution. Since it’s ineffective, let’s kill him.

Delete debug.keystore directly.

Exit unity3d first. Before exiting, find the path where debug.keystore is located from the log in the console window, such as the C:\Users\Samprit Hazra.android\debug.keystore above, and then delete it directly.

After deleting, restart unity3d, package the apk again, and you will find that it is OK!

Guess you like

Origin blog.csdn.net/weixin_41872439/article/details/132606199