当前位置:   article > 正文

Unity2019Gradle打包Apk错误 Failed to notify project evaluation listener._failed to notify project evaluation listener. > or

failed to notify project evaluation listener. > org.gradle.api.internal.task

编辑器版本:Unity2019.2.21f1

前言

问题起因在这里
解决Unity2019打包,提示 SDK Tools version 0.0.0 < 26.1.1
原本我已经觉得自己解决了问题。因为打包已经没有问题了。然后今天突然换了一个新的项目。又出现了这样的问题。

FAILURE: Build failed with an exception.

* What went wrong:

A problem occurred configuring root project 'gradleOut'.

> Failed to notify project evaluation listener.

> org.gradle.api.tasks.compile.CompileOptions.setBootClasspath(Ljava/lang/String;)V

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 15s
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

填坑过程

看到报错,第一反应就是gradle有问题或者库文件引用问题。
在Unity里调整一些设置未果后。只得打成安卓工程了。
安卓工程必然报错,不过没什么关系,先检查插件的版本。
在这里插入图片描述
检查gradle库版本

在这里插入图片描述
果然是库有问题,库版本不对应。
不清楚问题在哪的可以查看官方gradle对应关系。Android Gradle 插件版本说明

在这里插入图片描述

解决方案

版本都是一一对应的,过高过低都会出问题。
我用的插件版本是3.0.1 所以我对应的应该是4.1+,于是我改成下图这样。
在这里插入图片描述
然后安卓工程打包无误,本来该完结撒花的。
我突然有个问题,unity2019全面支持gradle打包为啥还要导成安卓工程来解决问题呢。如果是gradle版本的问题,能否直接从unity层面来修复这个问题。

再填坑过程

1:首先找unity2019自带的gradle文件位置。
在这里插入图片描述
2:边查边看找到这个文件夹后发现很多熟悉的东西。以下四个文件都能在安卓工程找到对应的文件。
按别人的教程添加阿里的库放在其他库前面。

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

(这个库其实只是为了解决翻不了墙下载不到对应的文件,一般用在报找不到引用文件的问题上。所以结果是我添加了我仍然没有解决问题。)
在这里插入图片描述
3:修正gradle版本,我又尝试在下面位置指定4.1版本。也并没有用。

在这里插入图片描述
4:能改动的地方都试了仍然没有解决问题。所以,哪里出了问题呢?我又检查了一次对应关系,又发现了一个新问题。
我第一张截图(安卓工程)引用的版本号是3.0.1
在这里插入图片描述

第六张截图(unity工程的默认安卓配置)引用的版本号是3.4.0
在这里插入图片描述
那么3.0.1这个版本号是哪来的?本着求真务实的良好心态。我在工程里搜索了gradle,
temp的文件都不用看(黑色框内,因为是自动生成的。)
在这里插入图片描述
所以我打开了这个文件(红色框内)果然找到了这个3.0.1。
在这里插入图片描述
那么我要怎么做,因为Unity2019 默认的是3.4.0,而且空包打包无问题,那无疑说明3.4.0的库版本是Unity2019支持的。

解决方案2

没错,gradle库版本号和unity默认的版本号一致就好了。可以直接Unity打包apk。
在这里插入图片描述
完结撒花。

尾记

我找到这个gradle文件了又说明什么,它在哪里引用呢?为什么没用Unity的默认版本呢?
答案如下:

在这里插入图片描述
测试结果:1:勾选,必须修改gradle文件才能打包。(使用自定义配置,包含配置里面的引用库)
2:不勾选,打包无误,但功能有所阉割,apk可能无法运行。(使用默认配置,有第三方插件额外引用库的时候,无法获取导致Bug)

另外,改完第一次打包的话极慢,在AndroidStudio里也是一样的。第一次极慢,只要不报错,耐心等待就好。

以上。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/262363?site
推荐阅读
相关标签
  

闽ICP备14008679号