Unity2019使用Gradle打包Apk的问题 您所在的位置:网站首页 unity3d版本不兼容 Unity2019使用Gradle打包Apk的问题

Unity2019使用Gradle打包Apk的问题

2023-09-04 17:08| 来源: 网络整理| 查看: 265

Unity2019提供了全套的Android打包工具,使用UnityHub安装时把这些工具全选就行了,但是gradle插件是需要在打包时自动下载的,因此打包时可能会因为各种原因出现错误。

关于打包时Gradle出错的问题

首先最主要的问题就是gradle联网下载插件是连接的谷歌,解决方案是科学上网,如果没有科学上网工具的话也可以使用阿里提供的仓库来下载,这需要修改一下gradle的配置文件,配置文件的目录为:Unitys\2019.2.0f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\GradleTemplates(Unitys是我自己定义的目录,UnityHub在安装时会在该文件夹下产生对应的版本目录),GradleTemplates目录下的文件在不同Unity版本可能会有区别,修改方法:将GradleTemplates下所有的文件有repositories的语句下添加一下代码

maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}

修改之后的文件格式大体如下

repositories {**ARTIFACTORYREPOSITORY** maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'} google() jcenter() }

其中 maven{ url ‘http://maven.aliyun.com/nexus/content/groups/public/’} 语句必须写在 google()前面,并且需要需要修改所有有repositories的地方。

使用已经下载好的Gradle

上面的解决办法网上比较普遍,但是笔者的公司电脑比较特殊,使用上面的方法都没有成功,打包apk仍然失败,控制台报错提示 > Could not resolve all artifacts for configuration ‘:classpath’. 家里的电脑反而成功了,可能是因为使用过AndroidStudio的原因,公司电脑里已经存在Gradle文件 gradle插件下载时会自送生成C:\Users\Administrator\.gradle目录,下载好的gradle插件会存储在C:\Users\Administrator\.gradle\wrapper\dists路径下: 在这里插入图片描述 可以看到我的电脑其实是已经下载好了一个gradle插件了,版本是4.10.1(当时是根据AndroidStudio使用离线gradle的方法下载的,然而笔者对于AndroidStudio的学习还没深入),该版本是gradle插件的版本,gradle版本和gradle插件版本的对应关系如下 在这里插入图片描述如果把 .gradle 这个文件夹删除,Unity2019在打包安卓的时候也会自动的生成该文件夹,因此Unity的gradle文件应该和AndroidStudio使用的gradle文件是一致的,根据上面的版本对应关系,Unity可以指定使用3.3.0的gradle版本,就能够使用这个已经下载好的gradle插件,因此笔者对D:\Unitys\2019.2.0f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\GradleTemplates 路径下的文件做了如下更改

dependencies { classpath 'com.android.tools.build:gradle:3.3.0' }

该段代码决定了使用哪个gradle版本构建apk,将GradleTemplates 目录下所有涉及到gradle版本的代码更改成了3.3.0版本,保存后再次打包就成功了。

由于笔者未从事过Android开发,在使用Unity开发时一直使用 internal 的构建模式,而Unity2019版本的构建时基于gradle,对于这方面还不太了解,如有错误请看官指正,不过Unity开发还是经常涉及到安卓和ios的技术,仍需继续学习。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有