【Unity】Temp\gradleOut\launcher\build\outputs\bundle\release\launcher-release.aab does not exist

一、问题
  1. 环境

Unity 2020.1.14f1
baseProjectTemplate:classpath ‘com.android.tools.build:gradle:3.6.0’
Gradle版本:5.6.4

  1. 问题描述
    打包Apk是没有问题的,但是现在需要打包成aab,上传Google Play后台,报错信息如下
    在这里插入图片描述
FileNotFoundException: Temp\gradleOut\launcher\build\outputs\bundle\release\launcher-release.aab does not exist
System.IO.File.Move (System.String sourceFileName, System.String destFileName) (at <695d1cc93cca45069c528c15c9fdd749>:0)
UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <2c6e9a95f1dd4e06ad71afcd2684dcb7>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <2c6e9a95f1dd4e06ad71afcd2684dcb7>:0)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry,
二、原因
  1. 网上搜索的原因如下

gradle版本过高,导致与unity内部逻辑不兼容。

解决方法: launcherTemplate的defaultConfig里添加了下列的代码

defaultConfig {
    ***
    //添加以下内容
    tasks.whenTaskAdded {
        task ->
        if (task.name.startsWith("bundle")) {
       
            def renameTaskName = "rename${task.name.capitalize()}Aab"
            def flavor = task.name.substring("bundle".length()).uncapitalize()
            tasks.create(renameTaskName, Copy) {
       
                def path = "${buildDir}/outputs/bundle/${flavor}/"
                from(path)
                include "launcher-release.aab"
                destinationDir file("${buildDir}/outputs/bundle/${flavor}/")
                rename "launcher-release.aab", "launcher.aab"
            }
     
            task.finalizedBy(renameTaskName)
        }
    }
}
  1. 上述方法并不能解决我的问题,目前来看原因还不是很清楚,如果你知道的话,可以私信博主,感谢
三、解决方法
  1. PlayerSettings->Publishing Settings,勾选
    在这里插入图片描述
  2. Assets->Plugins->Android->baseProjectTemplate.gradle,双击打开,修改版本为“4.0.1”
    在这里插入图片描述
  3. 对应的Unity的Gradle版本也要升级到6.1.1,插件版本与Gradle版本对应关系如下
    插件版本与Gradle版本关系
    在这里插入图片描述
  4. 升级版本Gradle
    Unity的Gradle路径:D:\Unity3D\2020.1.14f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle
    删除gradle文件夹下的lib文件夹
    在这里插入图片描述
  5. 下载Gradle
    Gradle下载地址

下载完成后,解压压缩包,复制lib文件夹到D:\Unity3D\2020.1.14f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle
重新打开Unity ,可以正常打包aab.。在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值