【Unity】打包报错 com.android.buil.gradle.internal.tasks.workers$ActionFacade

问题的发生

Unity版本:Unity 2020.3.0f1c1 (64-bit)
直接使用Unity打包,打包报错
【Unity】打包报错 com.android.buil.gradle.internal.tasks.workers$ActionFacade_第1张图片
Console报错:

有些没存截图 但是大概内容是这样

gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java使用或覆盖了已过时的 API。
The option ‘android.enableR8’ is deprecated and should not be used anymore.
Execution failed for task ':launcher:processReleaseResources'. 
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade    
> > AAPT2 aapt2-3.6.0-6040484-windows Daemon #0: Unexpected error during link, attempting to 

【Unity】打包报错 com.android.buil.gradle.internal.tasks.workers$ActionFacade_第2张图片
【Unity】打包报错 com.android.buil.gradle.internal.tasks.workers$ActionFacade_第3张图片
【Unity】打包报错 com.android.buil.gradle.internal.tasks.workers$ActionFacade_第4张图片

问题的解决

查找解决方法的时候,大概能知道是gradle出问题了,但是大概走过下面几个阶段:

第一个误区:
是关于这个报错:
gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java使用或覆盖了已过时的 API。
使用的解决方法是这里提到的
但是如文中修改后,并不能解决打包报错,所以我把移除掉的UnityPlayerActivity.java重新添加了回来

第二个误区:
是被Try里面尝试gradle使用扩展命令显示更多报错信息
比如说 :
关于增加输出信息_CSDN
关于增加输出信息_CSDN
关于增加输出信息_StackOverFlow

第三个误区:
报错很相似,而且我也尝试文中提到的修改,但是针对于我的问题,最终并不是这样解决的,但是提供给大家
缓存问题

第四个误区:
此时有点不知道哪里出现了问题,所以查找的方向有点偏,
这一篇文章里面提到了gradle里面版本不确定更改为确定的版本的问题,
所以我尝试修改了Unity里面对于Android版本的显示,事实证明,这个方向也不能解决我的问题。
Execution failed for task ‘:Lib:processReleaseResource’

问题解决:
结合以下文章:
ERROR com.android.build.gradle.internal.tasks.Workers$ActionFacade
如何解决此错误“执行com.android.build.gradle.internal.tasks.Workers $ ActionFacade时发生故障"
这是基本确定是gradle的指定版本出现了问题

解决方式:
Unity 使用自定义Gradle配置(此篇文章是为解决The option ‘android.enableR8’ is deprecated and should not be used anymore.)

按照文章 打开文件找到’com.android.tools.build:gradle:3.6.0’修为’com.android.tools.build:gradle:3.4.0’ 解决问题。
文章提到2020.3.7修复,我没验证 。

写在后面

不一定能解决所有遇到相似问题的情况,请大家酌情,使用文中提到的解决方案。

转载请标注 出自喵喵丸的Blog

你可能感兴趣的:(Unity,unity,c#,android,APK打包)