栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > 其他

[Unity] TempgradleOutlauncheruildoutputsundle eleaselauncher-release.aab does not exist

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[Unity] TempgradleOutlauncheruildoutputsundle
eleaselauncher-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: TempgradleOutlauncherbuildoutputsbundlereleaselauncher-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:Unity3D2020.1.14f1EditorDataPlaybackEnginesAndroidPlayerToolsgradle
    删除gradle文件夹下的lib文件夹
  5. 下载Gradle
    Gradle下载地址

下载完成后,解压压缩包,复制lib文件夹到D:Unity3D2020.1.14f1EditorDataPlaybackEnginesAndroidPlayerToolsgradle
重新打开Unity ,可以正常打包aab.。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/906405.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号