Unity2019使用Gradle打包Apk的问题

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的技术,仍需继续学习。

  • 23
    点赞
  • 126
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 27
    评论
您好,感谢您的提问。您可以使用Unity自带的命令行工具和Gradle命令来实现一键打包脚本,并在导出工程时生成对应的.so文件。具体步骤如下: 1. 创建一个新的Unity项目,并在项目中设置好需要打包的场景和其他相关设置。 2. 在Unity编辑器中点击菜单栏上的“File” -> “Build Settings”打开打包设置面板。在面板中选择“Android”平台,并在“Player Settings”中设置好应用程序的相关信息,例如包名、应用名、图标、版本号等。 3. 在打包设置面板中点击“Export Project”按钮,导出Android Studio工程文件。在弹出的对话框中选择一个目录并保存工程文件。 4. 打开命令行终端,进入到保存工程文件的目录中,使用Gradle命令编译生成对应的.so文件。例如,可以使用以下命令: ``` ./gradlew build ``` 该命令会自动下载Gradle并编译生成.so文件,并将生成的文件保存在“build/intermediates/cmake/release/obj”目录下。 5. 编写一键打包脚本。使用您喜欢的脚本语言编写脚本文件,并在脚本中实现以下功能: - 打开Unity编辑器,并自动打开需要打包的场景。 - 设置好应用程序的相关信息,并执行打包操作。 - 导出Android Studio工程文件,并进入到工程目录中。 - 执行Gradle命令生成对应的.so文件。 6. 在命令行终端中执行一键打包脚本,并等待打包完成。打包完成后,您可以在生成的APK文件和.so文件中验证您的应用程序是否正常运行。 希望这些步骤对您有所帮助!
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JousonRen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值