Unity Android发布 Gradle Build Failded,使用或覆盖了已过时的 API解决办法
Android Build Error
Step1:提取报错信息:
CommandInvokationFailure: Gradle build failed.
C:/Program Files/Unity/2019.4.36f1c1/Editor/Data/PlaybackEngines/AndroidPlayer\OpenJDK\bin\java.exe -classpath "C:\Program Files\Unity\2019.4.36f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-5.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"
stderr[
注: E:\_WorkSpace\02_ProjectSpace\02_Unity_Project\Ryunm_CommonTest\Temp\gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
* What went wrong:
Execution failed for task ':launcher:checkReleaseDuplicateClasses'.
> 1 exception was raised by workers:
java.lang.RuntimeException: Duplicate class com.twobigears.audio360exo.BuildConfig found in modules audio360-exo25.jar (audio360-exo25.jar) and audio360-exo28.jar (audio360-exo28.jar)
Duplicate class com.twobigears.audio360exo2.OpusDecoder found in modules audio360-exo25.jar (audio360-exo25.jar) and audio360-exo28.jar (audio360-exo28.jar)
Duplicate class com.twobigears.audio360exo2.OpusDecoderException found in modules audio360-exo25.jar (audio360-exo25.jar) and audio360-exo28.jar (audio360-exo28.jar)
Duplicate class com.twobigears.audio360exo2.OpusRenderer found in modules audio360-exo25.jar (audio360-exo25.jar) and audio360-exo28.jar (audio360-exo28.jar)
Step2:找出关键点解决:
Gradle build failed
Gradle build failed意思是在使用Gradle发布时失败了
Unity2019 版本的安卓基本上都会使用Gradle发布,绝大多数情况,是由于Gradle的SDK不全所导致的,因为Gradle默认是从Google下载,但是在国内,大多数安装Unity或者发布Android时候,并不能连网到Google下载;遇到这种情况,有两种办法解决:
- 科学上网
- 自己下载Unity对应的Gradle SDK并使用,网上有相关的教程
作者这里的情况并不是Gradle不完整导致的,所以我们接着往下分析
使用或覆盖了已过时的 API
这个报错信息没办法直接看出特别有用的信息,我们再看后面的详细描述,Duplicate class com.twobigears.audio360exo.BuildConfig found in modules audio360-exo25.jar (audio360-exo25.jar) and audio360-exo28.jar (audio360-exo28.jar)
这句话能告诉我们具体的问题所在,意思是有一个东西,在“audio360-exo25.jar”和“audio360-exo28.jar”两个jar中都找到了,所以这里就起冲突了;这里的处理方式,只需要找到这两个jar然后删除其中一个就可以了;但是这两个jar在哪里去找?无非从几个地方入手,我们会想到Android发布,涉及到的内容:
- JDK、2、Andoird SDK、3、Gradle SDK(由于Gradle发布)、4、Unity项目
最终在Unity项目Plugins/Adroid路径下,找到这两个jar;删掉其中一个udio360-exo25.jar,重新发布,成功!
最后总结原因,是由于我们在项目中会使用到各种不同的插件,在将这些插件导入到项目中时,有可能多个不同的插件会包含并导入同一类但是版本不同的相关jar,这样在发布的时候就会报错;
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfkcac
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13