unity3d2021.3.11f1生成android的APK遇到的问题及解决方法

前提:windows电脑,unity3d2021.3.11f1 长期支持版本LTS

先说说遇到的问题:构建apk时卡半天,然后出现报错,在console窗口看详细问题,因为问题已经解决了,错误日志被刷掉了,这里借用一个国外大佬的错误信息,除了版本,其他和我的基本一样。又需要的也可以去看看原文(可能需要科学上网):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,

对比一下上面的错误日志,看看是不是和你的一样,日志是不是眼花缭乱,其实去里面找关键信息就行了,以下就是这次问题的原因

* 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

大致意思就是无法从存储“C:\Users\Samprit Hazra.android\debug.keystore”读取密钥 AndroidDebugKey:密钥库格式无效。

那么知道了原因就好解决了,直接来个暴力解决方法,既然他无效,那我们就把他干掉

直接删除debug.keystore。

先退出unity3d,在退出之前先从console窗口里的日志中找到debug.keystore所在的路径,比如上面这个C:\Users\Samprit Hazra.android\debug.keystore,然后直接Delete他。

删完后重启unity3d,再次打包apk,你就会发现OK了!

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
注:下文中的 *** 代表文件名中的版本号。 # 【bcprov-jdk15on-***.jar中文文档.zip】 中包含: 中文文档:【bcprov-jdk15on-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【bcprov-jdk15on-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【bcprov-jdk15on-***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【bcprov-jdk15on-***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【bcprov-jdk15on-***-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: bcprov-jdk15on-***.jar中文文档.zip,java,bcprov-jdk15on-***.jar,org.bouncycastle,bcprov-jdk15on,***,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,bouncycastle,bcprov,jdk15on,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【bcprov-jdk15on-***.jar中文文档.zip】,再解压其中的 【bcprov-jdk15on-***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件; # Maven依赖: ``` <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15on</artifactId> <version>***</version> </dependency> ``` # Gradle依赖: ``` Gradle: implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: '***' Gradle (Short): implementation 'org.bouncycastle:bcprov-jdk15on:***' Gradle (Kotlin): implementation("org.bouncycastle:bcprov-jdk15on:***") ``` # 含有的 Java package(包)(此处仅列举3个): ``` org.bouncycastle org.bouncycastle.asn1 org.bouncycastle.asn1.anssi ...... ``` # 含有的 Java class(类)(此处仅列举3个): ``` org.bouncycastle.LICENSE org.bouncycastle.asn1.ASN1ApplicationSpecific org.bouncycastle.asn1.ASN1ApplicationSpecificParser ...... ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值