解决Unity打包Apk卡在calling IPostGenerateGradleAndroidProject callbacks

防盗镇楼 本文地址:https://superliii.blog.csdn.net/article/details/134820215

问题

好烦,又双叒卡BUG,在解决此问题的10多个小时里面鬼知道我经历了什么...

构建APK卡在calling IPostGenerateGradleAndroidProject callbacks

好不容易搜到个极其隐蔽的帖子,说删C:\Users\Administrator\.gradle这个目录就好了

(我没有直接生效,但对后续解决问题有很大帮助).

这Bug你不讲武德,提示也没有,就让我等🙂

逼急了,老实人也是会放大的.

既然搜不到,我就只能自己研究了,睡觉是不可能睡的.

中断构建

第一步肯定是要想办法停止这个构建啊,取消又取消不了.

正当我想要用任务管理器结束掉Unity.exe时,偶然间发现运行了个java.exe和unity有关

没犹豫,干他!

...

然后Unity就抛了个异常

点击ok,随后一切都ok了.

随后我明白了肯定是java出毛病卡住了,它似乎陷入了某种循环.
一开始我以为是我的AndroidStudio环境和UnityAndroid构建起冲突导致的,然而并不是.
我尝试过将系统环境变量里相关Java和Android路径全部删除,重启,还是没有效果
此时已经卡在这里2个多小时了

没办法,只能掏出我的紫色极品八百米神器大刀Procmon,看一看它究竟卡在哪了

分析

仔细看,它干了这么个事

TCP COPY:白梨工作站:8623 -> 180.74.95.34.bc.googleusercontent.com:https(从这下载文件)

通过过滤分析,可以看到它一直尝试在下载文件到%Temp%\gradle_download***************************bin

它下载了许多文件,猜测是用于构建C:\Users\Administrator\.gradle目录的内容.

但是有几个很慢很慢,慢到下载超时了还没下完.(因为Unity都超时弹窗终止构建了它还在下载)
所以这可能是卡在calling IPostGenerateGradleAndroidProject callbacks的原因之一

解决

一开始我就以为肯定又是某墙在作怪,导致文件下载不下来,其实不然

在我这10多个小时的折腾下还是成功的构建了APK

这个问题可能有很多因素导致的,请按序逐一排查(我也不确定到底哪个在作怪)

  1. 工程路径不能有中文
  2. 计算机用户名不能是中文,改完重启
    注意上方截图,我的用户名那时候是中文的.我是最后在解决这个问题以后成功的
  3. 删除C:\Users\Administrator\.gradle目录(让Unity重新构建此目录)
  4. 删除.C:\Users\Administrator\.android目录(解决构建时密钥报错问题)
    (上述两个目录如果删不掉,去任务管理器干掉所有java.exe进程,不行就重启)
  5. 系统环境变量,改完重启
    我之前倒腾过一阵子AndroidStudio,配置了一些JAVA_HOME ANDROID_HOME之类的全局变量
    把它们删除重启试试
  6. 网络堵塞,可能是被墙了(挂代理试试)
    我这边网络有时候能访问Github有时候又不能访问,鬼的很(我也不确定是不是网突然通畅了...)

结语

本文暂时没有彻底确认问题所在,如果你刚好按照本文操作解决了问题

还请评论区通告一下解决方案,节省大家寿命,多点时间享受生活和陪伴家人.

相关推荐
nnsix1 小时前
Unity API 兼容的 .NET Standard 2.1 和 .NET Framework 区别
unity·游戏引擎·.net
mxwin1 小时前
Unity Shader 制作半透明物体 使用多Pass提前写入深度的方式 避免穿模
unity·游戏引擎
nnsix3 小时前
Unity HybridCLR 笔记
笔记·unity·游戏引擎
nnsix4 小时前
Unity Addressables 笔记
unity·游戏引擎
RReality4 小时前
【Unity Shader URP】视差贴图 实战教程
ui·平面·unity·游戏引擎·图形渲染·贴图
小清兔19 小时前
Addressable的设置打包流程
笔记·游戏·unity·c#
3D霸霸21 小时前
Sourcetree 拉取新工程
数据仓库·unity
程序员正茂1 天前
Unity3d中RawImage显示视频画面偏白的解决方法
unity·视频·rawimage
mxwin1 天前
Unity SetPassCall和DrawCall的区别是什么
unity·游戏引擎·shader
电子云与长程纠缠1 天前
UE5 GameFeature创建与使用
开发语言·学习·ue5·游戏引擎