Unity 2021.3.21f1c1LTS版本,创建安卓安装包时,出现了无法打包的问题。
本人尝试的做法如下:
1:hub重装Unity 2021.3.21f1c1LTS版本
以上做法均未能解决。
场景↓
这里是要做一些什么操作吗
详细报错如下:
弹窗是:a failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade See the Console for details
详情报错是:
CommandInvokationFailure: Gradle build failed.
D:\Unity20221231\2021.3.21f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK\bin\java.exe -classpath "D:\Unity20221231\2021.3.21f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-6.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"
Environment Variables:
RlsSvcPort = 22112
USERDOMAIN = DESKTOP-9GLEEQ1
asl.log = Destination=file
ProgramFiles = C:\Program Files
TMP = C:\Users\ASUS\AppData\Local\Temp
OneDrive = C:\Users\ASUS\OneDrive
PROCESSOR_ARCHITECTURE = AMD64
PROCESSOR_REVISION = 9702
ANDROID_HOME = C:\Users\ASUS\AppData\Local\Android\Sdk
OS = Windows_NT
CHROME_CRASHPAD_PIPE_NAME = \\.\pipe\crashpad_3816_VHCNXIDHHQXGERCH
PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 151 Stepping 2, GenuineIntel
ProgramW6432 = C:\Program Files
USERPROFILE = C:\Users\ASUS
JAVA_HOME = D:\Unity20221231\2021.3.21f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK
DriverData = C:\Windows\System32\Drivers\DriverData
INTEL_DEV_REDIST = C:\Program Files (x86)\Common Files\Intel\Shared Libraries\
ComSpec = C:\Windows\system32\cmd.exe
MIC_LD_LIBRARY_PATH = C:\Program Files (x86)\Common Files\Intel\Shared Libraries\compiler\lib\mic
PSModulePath = C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules
PUBLIC = C:\Users\Public
SystemRoot = C:\Windows
NUMBER_OF_PROCESSORS = 16
JAVA_TOOL_OPTIONS = -Dfile.encoding=UTF-8
ADSK_3DSMAX_x64_2023 = D:\3DMAX\3ds Max 2023\
FPS_BROWSER_APP_PROFILE_STRING = Internet Explorer
TEMP = C:\Users\ASUS\AppData\Local\Temp
Path = C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\compiler;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 (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;D:\Matlab\purpose file\runtime\win64;D:\Matlab\purpose file\bin;D:\Matlab\purpose file\polyspace\bin;D:\EasyShare\x86\;D:\EasyShare\x64\;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files (x86)\Rational\common;D:\Unity20221231\2021.3.21f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools;C:\Users\ASUS\AppData\Local\Microsoft\WindowsApps;C:\Users\ASUS\.dotnet\tools;C:\Users\ASUS\AppData\Local\Android\Sdk\platform-tools;C:\Users\ASUS\AppData\Local\Android\Sdk\tools;C:\Users\ASUS\AppData\Local\GitHubDesktop\bin
ACSvcPort = 17532
USERNAME = ASUS
COMPUTERNAME = DESKTOP-9GLEEQ1
PATHEXT = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
ALLUSERSPROFILE = C:\ProgramData
SystemDrive = C:
windir = C:\Windows
FPS_BROWSER_USER_PROFILE_STRING = Default
HOMEPATH = \Users\ASUS
CommonProgramFiles(x86) = C:\Program Files (x86)\Common Files
APPDATA = C:\Users\ASUS\AppData\Roaming
CommonProgramFiles = C:\Program Files\Common Files
MOZ_PLUGIN_PATH = D:\Foxit PDF Reader\plugins\
CommonProgramW6432 = C:\Program Files\Common Files
ProgramFiles(x86) = C:\Program Files (x86)
SESSIONNAME = Console
LOGONSERVER = \\DESKTOP-9GLEEQ1
LOCALAPPDATA = C:\Users\ASUS\AppData\Local
PROCESSOR_LEVEL = 6
HOMEDRIVE = C:
USERDOMAIN_ROAMINGPROFILE = DESKTOP-9GLEEQ1
ProgramData = C:\ProgramData
ORIGINAL_XDG_CURRENT_DESKTOP = undefined
stderr[
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\ASUS\.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 7s
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.overridePathCheck=true' is experimental.
The current default is 'false'.
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
> 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 UP-TO-DATE
> Task :launcher:generateReleaseBuildConfig UP-TO-DATE
> Task :unityLibrary:generateReleaseResources UP-TO-DATE
> Task :launcher:compileReleaseAidl NO-SOURCE
> Task :launcher:compileReleaseRenderscript NO-SOURCE
> 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 :unityLibrary:packageReleaseResources UP-TO-DATE
> Task :launcher:extractDeepLinksRelease UP-TO-DATE
> Task :unityLibrary:extractDeepLinksRelease UP-TO-DATE
> Task :unityLibrary:processReleaseManifest UP-TO-DATE
> Task :launcher:mergeReleaseResources UP-TO-DATE
> Task :launcher:processReleaseManifest UP-TO-DATE
> Task :unityLibrary:compileReleaseLibraryResources UP-TO-DATE
> Task :launcher:prepareLintJar UP-TO-DATE
> Task :unityLibrary:parseReleaseLocalResources UP-TO-DATE
> Task :launcher:checkReleaseDuplicateClasses UP-TO-DATE
> Task :unityLibrary:generateReleaseRFile UP-TO-DATE
> Task :launcher:desugarReleaseFileDependencies UP-TO-DATE
> Task :unityLibrary:generateReleaseBuildConfig UP-TO-DATE
> Task :unityLibrary:javaPreCompileRelease UP-TO-DATE
> Task :launcher:processReleaseResources UP-TO-DATE
> Task :launcher:mergeExtDexRelease 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 :unityLibrary:compileReleaseJavaWithJavac UP-TO-DATE
> Task :launcher:collectReleaseDependencies UP-TO-DATE
> Task :unityLibrary:bundleLibCompileToJarRelease UP-TO-DATE
> Task :launcher:sdkReleaseDependencyData UP-TO-DATE
> Task :unityLibrary:prepareLintJarForPublish UP-TO-DATE
> Task :unityLibrary:bundleLibRuntimeToJarRelease UP-TO-DATE
> Task :unityLibrary:mergeReleaseShaders UP-TO-DATE
> Task :launcher:compileReleaseJavaWithJavac UP-TO-DATE
> Task :launcher:compileReleaseSources UP-TO-DATE
> Task :unityLibrary:compileReleaseShaders NO-SOURCE
> Task :unityLibrary:generateReleaseAssets UP-TO-DATE
> Task :unityLibrary:packageReleaseAssets
> Task :unityLibrary:processReleaseJavaRes UP-TO-DATE
> Task :unityLibrary:bundleLibResRelease UP-TO-DATE
> Task :unityLibrary:mergeReleaseJniLibFolders UP-TO-DATE
> Task :unityLibrary:mergeReleaseNativeLibs UP-TO-DATE
> Task :unityLibrary:stripReleaseDebugSymbols UP-TO-DATE
> Task :unityLibrary:copyReleaseJniLibsProjectOnly UP-TO-DATE
> Task :launcher:lintVitalRelease
> Task :launcher:dexBuilderRelease UP-TO-DATE
> Task :launcher:mergeDexRelease UP-TO-DATE
> Task :launcher:mergeReleaseAssets
> Task :launcher:mergeReleaseJavaResource UP-TO-DATE
> Task :launcher:mergeReleaseJniLibFolders UP-TO-DATE
> Task :launcher:mergeReleaseNativeLibs UP-TO-DATE
> Task :launcher:stripReleaseDebugSymbols UP-TO-DATE
> Task :launcher:validateSigningRelease UP-TO-DATE
> Task :launcher:packageRelease FAILED
47 actionable tasks: 4 executed, 43 up-to-date
]
exit code: 1
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <32868b46dce54599ae27ea351a6d3b29>:0)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <32868b46dce54599ae27ea351a6d3b29>:0)
UnityEditor.Android.Command.Run (System.String command, System.String args, System.String workingdir, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <32868b46dce54599ae27ea351a6d3b29>:0)
UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action`1[T] progress, System.String error) (at <32868b46dce54599ae27ea351a6d3b29>: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 <32868b46dce54599ae27ea351a6d3b29>: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 <32868b46dce54599ae27ea351a6d3b29>:0)
UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <32868b46dce54599ae27ea351a6d3b29>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <32868b46dce54599ae27ea351a6d3b29>: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 <32868b46dce54599ae27ea351a6d3b29>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <32868b46dce54599ae27ea351a6d3b29>:0)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, AndroidPlayerBuildProgram.Data.AndroidPlayerBuildProgramOutput buildProgramOutput) (at <32868b46dce54599ae27ea351a6d3b29>:0)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <32868b46dce54599ae27ea351a6d3b29>:0)
UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.Int32 subtarget, 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 <3c7ff71acc15453989e649d8a5f579d1>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
以下答案参考newbing,回答由博主波罗歌编写:
根据你提供的错误信息,看起来是在构建安卓安装包时遇到了一个签名错误的问题。具体的错误信息是:Invalid keystore format,意味着AndroidDebugKey的签名文件格式不正确。
解决这个问题的步骤如下:
打开Unity编辑器,进入"Player Settings",确保你已经正确设置了安卓的keystore文件和密码。可以点击"Edit"按钮来检查设置。
如果你没有设置过keystore文件,那么你需要创建一个新的签名文件。在"Player Settings"界面,点击右上角的"Build Settings"按钮,然后在弹出的窗口中选择"Create a new keystore"。然后输入相关信息,包括存储文件的位置、密码、别名以及别名的密码。确保密码和别名的密码都是安全的,并记住它们,因为你以后可能需要它们来签署APK文件。
如果你已经创建了签名文件,但仍然遇到问题,可能是因为签名文件被损坏或格式不正确。你可以尝试删除旧的签名文件,然后重新创建一个新的签名文件。
如果你仍然无法解决问题,尝试使用命令行工具来构建APK文件。首先,打开终端或命令提示符,进入Unity项目的根目录。然后运行以下命令:
gradlew assembleRelease
这会使用Gradle来构建APK文件,并打印出详细的错误信息,帮助你更好地了解问题所在。
希望这些步骤能帮助你解决问题!如果你还有其他问题,请随时提问。
如果我的回答解决了您的问题,请采纳!
store "C:\Users\ASUS.android\debug.keystore": Invalid keystore format
看着像是签名文件无法读取造成的问题。
您好,根据您描述的问题,我推测造成无法打包的原因可能有以下几点:
在使用Unity 2021版本创建安卓安装包时遇到无法打包的问题可能有多种原因。根据您提供的信息,看起来问题与Gradle的内存限制有关。
Gradle是用于构建Android项目的构建工具,它使用JVM来执行构建任务。默认情况下,Gradle的JVM内存限制较低,可能会导致大型项目无法成功构建。
您可以尝试以下方法来解决此问题:
增加Gradle的JVM内存限制:您可以在Unity中的"Player Settings"(播放器设置)中进行配置。在"Android"选项卡下,找到"Gradle Settings"(Gradle设置)部分,将"-Dorg.gradle.jvmargs=-Xmx4096m"添加到"Additional Gradle Properties"(附加Gradle属性)字段中。这将增加Gradle的JVM内存限制为4 GB。如果仍然无法打包,您可以尝试进一步增加内存限制,例如"-Dorg.gradle.jvmargs=-Xmx8192m"。
更新Gradle版本:Unity默认使用的Gradle版本可能不是最新的。您可以尝试手动更新Gradle版本。在"Player Settings"(播放器设置)的"Android"选项卡下,找到"Gradle Version"(Gradle版本)部分,选择最新的Gradle版本。
检查Android SDK和NDK的路径设置:在Unity中,您可以在"Preferences"(首选项)-> "External Tools"(外部工具)下找到Android SDK和NDK的路径设置。确保这些路径指向正确的SDK和NDK安装目录。
清理项目并重新生成:有时,项目中的临时文件或构建缓存可能会导致构建问题。您可以尝试执行"Clean Project"(清理项目)操作,然后重新构建项目。
查看错误日志:在Unity构建期间,可以在"Console"(控制台)选项卡中查看构建日志和错误信息。查看详细的错误信息可能会提供有关无法打包的原因的线索。
根据您提供的错误信息,问题发生在执行Gradle任务时。要获取更详细的错误信息,您可以查看Unity编辑器中的控制台输出,以查看完整的Gradle构建日志。
以下是一些可能的解决方法:
查看详细的Gradle构建日志:在Unity编辑器中,点击菜单栏的"Window"(窗口)-> "General"(常规)-> "Console"(控制台)打开控制台窗口。在构建期间,Gradle的详细构建日志将显示在控制台中。查找并检查包含错误详细信息的Gradle构建日志条目。
更新Android SDK和NDK:确保您的Android SDK和NDK是最新版本。您可以使用Android Studio或SDK Manager来更新这些组件。然后在Unity中的"Preferences"(首选项)-> "External Tools"(外部工具)中更新Android SDK和NDK的路径设置。
检查Gradle版本:Unity默认使用的Gradle版本可能不是最新的。您可以尝试手动更新Gradle版本。在Unity中,转到"Player Settings"(播放器设置)的"Android"选项卡下,找到"Gradle Version"(Gradle版本)部分,选择最新的Gradle版本。
清理项目并重新生成:有时,项目中的临时文件或构建缓存可能会导致构建问题。您可以尝试执行"Clean Project"(清理项目)操作,然后重新构建项目。
确保项目路径不包含特殊字符或空格:Gradle构建过程对项目路径中的特殊字符或空格可能敏感。请确保您的项目路径不包含任何特殊字符,并尽量避免使用空格。
检查Gradle依赖项和插件:某些Gradle插件或依赖项可能与Unity的构建流程不兼容。您可以尝试更新或调整Gradle插件和依赖项版本,以解决可能的兼容性问题。
根据提供的错误信息,可以看出在执行 Gradle 构建时出现了失败。大致问题方向:
1、Gradle 版本不匹配
检查 Android SDK 和相关依赖项,所有必需的依赖项都已正确安装和配置。可以尝试检查 Android SDK 的版本和路径设置,并确保它们与 Unity 项目中的配置相匹配。
2、内存不足:根据错误信息中的提示,你的 Gradle 构建过程可能因为内存不足而失败。您可以尝试增加 Java 虚拟机的内存分配。在启动 Android Studio 时,尝试使用以下命令行参数来增加内存分配:-Xmx4096m。
3、依赖项问题:你的项目中可能缺少某些依赖项或者存在版本冲突。请检查您的 Gradle 文件并确保所有必需的依赖项都已正确配置。
4、错误配置:在 Gradle 构建过程中,可能存在一些错误的配置。请检查你的项目配置文件并确保所有设置都正确。
5、网络问题:如果你的项目需要从远程服务器下载依赖项,网络问题可能导致构建失败。请确保你的网络连接正常,并且能够访问所需的远程服务器。