最近预见一个奇葩事,明明前几天的版本打包安卓正常的,也正常打包出apk了,然后改了点东西突然就不行了,通过版本控制svn还原到之前能正常打包的版本,也报一样的错误,真是活见鬼了。
报错信息如下:
* What went wrong:
Execution failed for task ':launcher:packageRelease'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
> value (4304957338) > 0x00000000ffffffffL
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 > value (4304957338) > 0x00000000ffffffffL * 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 5m 31s 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 'android.enableR8' is deprecated and should not be used anymore. It will be removed in a future version of the Android Gradle plugin, and will no longer allow you to disable R8. > Task :launcher:preBuild UP-TO-DATE > Task :unityLibrary:preBuild UP-TO-DATE > Task :unityLibrary:unity-android-resources:preBuild UP-TO-DATE > Task :launcher:preReleaseBuild UP-TO-DATE > Task :unityLibrary:unity-android-resources:preReleaseBuild UP-TO-DATE > Task :unityLibrary:preReleaseBuild UP-TO-DATE > Task :unityLibrary:unity-android-resources:compileReleaseAidl NO-SOURCE > Task :unityLibrary:packageReleaseRenderscript NO-SOURCE > Task :unityLibrary:unity-android-resources:packageReleaseRenderscript NO-SOURCE > Task :unityLibrary:unity-android-resources:compileReleaseRenderscript NO-SOURCE > Task :launcher:generateReleaseBuildConfig > Task :unityLibrary:unity-android-resources:generateReleaseResValues > Task :unityLibrary:generateReleaseBuildConfig > Task :unityLibrary:unity-android-resources:generateReleaseResources > Task :unityLibrary:compileReleaseAidl NO-SOURCE > Task :launcher:compileReleaseRenderscript NO-SOURCE > Task :unityLibrary:compileReleaseRenderscript NO-SOURCE > Task :unityLibrary:generateReleaseResValues > Task :unityLibrary:generateReleaseResources > Task :launcher:mainApkListPersistenceRelease > Task :launcher:compileReleaseAidl NO-SOURCE > Task :launcher:generateReleaseResValues > Task :launcher:generateReleaseResources > Task :launcher:createReleaseCompatibleScreenManifests > Task :launcher:extractDeepLinksRelease > Task :launcher:prepareLintJar > Task :launcher:checkReleaseDuplicateClasses > Task :unityLibrary:unity-android-resources:packageReleaseResources > Task :unityLibrary:packageReleaseResources > Task :unityLibrary:extractDeepLinksRelease > Task :unityLibrary:unity-android-resources:generateReleaseBuildConfig > Task :unityLibrary:unity-android-resources:extractDeepLinksRelease > Task :unityLibrary:unity-android-resources:parseReleaseLocalResources > Task :unityLibrary:mergeReleaseShaders > Task :unityLibrary:compileReleaseShaders > Task :unityLibrary:generateReleaseAssets > Task :unityLibrary:unity-android-resources:mergeReleaseShaders > Task :unityLibrary:unity-android-resources:compileReleaseShaders > Task :unityLibrary:unity-android-resources:generateReleaseAssets > Task :unityLibrary:unity-android-resources:packageReleaseAssets > Task :unityLibrary:unity-android-resources:processReleaseJavaRes NO-SOURCE > Task :launcher:mergeReleaseShaders > Task :launcher:compileReleaseShaders > Task :launcher:generateReleaseAssets > Task :launcher:processReleaseJavaRes NO-SOURCE > Task :unityLibrary:unity-android-resources:processReleaseManifest > Task :launcher:mergeReleaseJniLibFolders > Task :launcher:validateSigningRelease > Task :unityLibrary:unity-android-resources:mergeReleaseJniLibFolders > Task :unityLibrary:unity-android-resources:prepareLintJarForPublish > Task :unityLibrary:unity-android-resources:bundleLibResRelease > Task :unityLibrary:unity-android-resources:javaPreCompileRelease > Task :unityLibrary:unity-android-resources:generateReleaseRFile > Task :unityLibrary:unity-android-resources:compileReleaseJavaWithJavac > Task :unityLibrary:unity-android-resources:mergeReleaseNativeLibs > Task :unityLibrary:unity-android-resources:stripReleaseDebugSymbols > Task :unityLibrary:unity-android-resources:copyReleaseJniLibsProjectOnly > Task :unityLibrary:unity-android-resources:bundleLibRuntimeRelease > Task :unityLibrary:unity-android-resources:bundleLibCompileRelease > Task :launcher:mergeReleaseResources > Task :launcher:desugarReleaseFileDependencies > Task :unityLibrary:unity-android-resources:compileReleaseLibraryResources > Task :launcher:mergeExtDexRelease > Task :unityLibrary:parseReleaseLocalResources > Task :unityLibrary:processReleaseManifest > Task :unityLibrary:compileReleaseLibraryResources > Task :unityLibrary:prepareLintJarForPublish > Task :unityLibrary:packageReleaseAssets > Task :unityLibrary:processReleaseJavaRes NO-SOURCE > Task :unityLibrary:mergeReleaseJniLibFolders > Task :unityLibrary:javaPreCompileRelease > Task :unityLibrary:bundleLibResRelease > Task :unityLibrary:generateReleaseRFile > Task :unityLibrary:compileReleaseJavaWithJavac > Task :unityLibrary:bundleLibRuntimeRelease > Task :unityLibrary:bundleLibCompileRelease > Task :unityLibrary:mergeReleaseNativeLibs > Task :unityLibrary:stripReleaseDebugSymbols > Task :unityLibrary:copyReleaseJniLibsProjectOnly > Task :launcher:mergeReleaseAssets > Task :launcher:processReleaseManifest > Task :launcher:processReleaseResources > Task :launcher:javaPreCompileRelease > Task :launcher:compileReleaseJavaWithJavac > Task :launcher:compileReleaseSources > Task :launcher:lintVitalRelease WARNING: The targetSdk version should not be declared in the android manifest file. You can move the version from the manifest to the defaultConfig in the build.gradle file. WARNING: The targetSdk version should not be declared in the android manifest file. You can move the version from the manifest to the defaultConfig in the build.gradle file. > Task :launcher:dexBuilderRelease > Task :launcher:mergeReleaseNativeLibs > Task :launcher:stripReleaseDebugSymbols > Task :launcher:mergeDexRelease > Task :launcher:mergeReleaseJavaResource > Task :launcher:packageRelease > Task :launcher:packageRelease FAILED 68 actionable tasks: 68 executed ] exit code: 1
于是去谷歌搜索了下,也没找到跟这一模一样的错误信息,尝试着改了gradle.properties改了gradle版本从3.6.3改成3.4.0,报错改了,变成了
Execution failed for task ':launcher:packageRelease'.
> 1 exception was raised by workers:
java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: value (4295634145) > 0x00000000ffffffffL
然后再尝试着打开multiDexEnable,发现也是不行。
multiDexEnabled true
将IL2CPP取消掉也不行,加上keystore签名也不行(之前成功的没有加)
导出Android工程出包,也是一样报错。。。这事情太诡异了。
自从Unity从2019版本开始将安卓打包系统Internal System移除,只能通过Gradle打包,这点真的太不方便了,Gradle打包总是莫名其妙各种打包问题。
之前碰到过,通过还原ProjectSetting修好了(之前打包不知道为什么会自动修改ProjectSetting),但是这次又不行了,实在是不知道什么原因。
如果有朋友知道怎么解决的,欢迎评论告诉我,感谢。
-----------------------------------------------------------------------------
更新:2021.12.5
经过测试,删除StreamingAssets下的.mp3、.mp4素材,可以正常打包。说明应该是StreamingAssets某些文件扩展名不支持,会导致报错,具体看这个链接提到的unity bug。
Unity Issue Tracker - [Android] Build fails when there are 680 or more files in the Streaming Assets folder
------------------------------------------------------------------------------
更新:20220311
今天又开始报错了,删了一些文件还是报错,最后继续删才能打包,猜测很大的可能是因为包体超过了4G。似乎apk超过4G打包会报错。
Bug: 4GB limit to Textures in standalone build - Unity Forum
-----------------------------------------------------------------------------
参考文章:
Unity Issue Tracker - [Android] Build fails when there are 680 or more files in the Streaming Assets folder
【Unity】打包报错 com.android.buil.gradle.internal.tasks.workers$ActionFacade
记录Unity 打包APK 错误 The option ‘android.enableR8’ is deprecated and should not be used anymore.解决方案_xT_Aurora的博客-CSDN博客
unity3d - How to fix error "A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade" after installing Photon in Unity - Stack Overflowunity3d - How to fix in Unity "A failure occurred while executing com.android.build.gradle.internal.tasks.workers$actionfacade" - Stack Overflow



