Unity2019版本打包一直停留在 detecting current sdk tools version的解决方案

1、我公司一般都是通过代理访问外网的,至于unity 如何设置代理,可以参考我这篇博客

2、所以按照Unity的android版本打包就非常的麻烦。所以Unity依赖的android SDK JDK我这就不赘述了,很多博客都有在写这块怎么安装。

3、在所有的安装完成之后。我们需要安装Gradle-5.6.4以及Gradle的plugin 3.6.0,这一步很关键,Unity在打包的时候回用到Gradle-5.6.4,而Gradle以及它的插件缓存就很重要了。

打开android studio,点击File->Project Structure

弹窗配置Gradle Version以及Gradle Plugin Version

 点击OK,等待同步下载完成。然后就是配置Unity了。

4、配置Unity,Edit->Preferences->External Tools

 5、重要的,如果配置的Gradle的路径不是由Android Studio下载缓存的Gradle-5.6.4,打包的时候就会在detecting current sdk tools version步骤卡很久。我安装Unity环境的时候,使用的自己下载的Gradle,打包就很卡很久,使用了Android Studio缓存的Gradle路径,打包就很快了。虽然很多人建议断网来解决卡的问题,但是不方便。大家试试我这个方法吧。这个方法解决了我的问题。重要,重要,重要,一定要使用Android Strudio缓存的Gradle版本。

6、如果以上还不能解决你们的问题,我最近就是好好的,后来又不行了,又开始在detecting current sdk tools version卡了很久。我调试发现是因为unity在打包的时候会调用adndroid sdk中的tools文件下的sdkmanager.bat --list命令,这个命令会去检验sdk的版本,还有下载的各个工具,会去下载对比文件,这个下载文件就占用很多很多时间。因为我们公司一般都是没有网络的造成了基本都下载不了显示了一直在这卡着。

我的终极大招就是,我android sdk安装的都没有问题,不需要检验了,我就修改了sdkmanager.bat脚本,不需要执行检验命令。打开的android sdk目录下的tools/bin/sdkmanager.bat脚本,然后把下面这一行注释掉就行了。

@rem "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %SDKMANAGER_OPTS%  -classpath "%CLASSPATH%" com.android.sdklib.tool.sdkmanager.SdkManagerCli %CMD_LINE_ARGS%

如果报版本号小于23.0.0啥的,你在把注释删掉,还原回去。应该是每次打包的时候它隔一段时间校验一次。

7、或者如果你有代理的话,可以修改这条命令行加上代理 "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %SDKMANAGER_OPTS%  -classpath "%CLASSPATH%" com.android.sdklib.tool.sdkmanager.SdkManagerCli --no_https --proxy=http --proxy_host=xxx.xxx.xxx.xxx --proxy_port=808 %CMD_LINE_ARGS% 

猜你喜欢

转载自blog.csdn.net/grace_yi/article/details/119651501