You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

制作签名发布版App Bundle时遇到':app:produceReleaseBundleIdeListingFile'任务配置错误求助

搞定':app:produceReleaseBundleIdeListingFile'的文件不存在问题

老哥,你遇到的这个错误我之前也踩过坑,本质就是Gradle执行Bundle生成任务时,找不到它预期的app-release.aab文件,大概率是签名配置缺漏、构建流程没走对,或者路径没匹配上。结合你的Android Studio 4.2.2版本和给出的Gradle代码,给你几个靠谱的解决步骤:

1. 先补全签名配置(最关键!)

你的Gradle代码里完全没看到签名相关的配置啊!生成签名版App Bundle必须要配置签名信息,不然AS根本没法生成合法的签名包。在android代码块里加上这段:

android {
    // ... 你原来的defaultConfig、bundle这些配置 ...

    // 新增签名配置
    signingConfigs {
        release {
            storeFile file("你的签名文件路径.jks") // 比如填../keystore/my-app-key.jks,注意相对路径或者绝对路径
            storePassword "你的密钥库密码"
            keyAlias "你的密钥别名"
            keyPassword "你的密钥密码"
        }
    }

    // 把签名配置关联到release构建类型
    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled false // 如果需要混淆可以改成true,记得配proguard规则
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

要是不想把密码硬编码在Gradle里(避免提交到Git),可以把敏感信息放到项目根目录的gradle.properties里:

RELEASE_STORE_FILE=../keystore/my-app-key.jks
RELEASE_STORE_PASSWORD=你的密钥库密码
RELEASE_KEY_ALIAS=你的密钥别名
RELEASE_KEY_PASSWORD=你的密钥密码

然后Gradle里改成引用这些变量:

signingConfigs {
    release {
        storeFile file(RELEASE_STORE_FILE)
        storePassword RELEASE_STORE_PASSWORD
        keyAlias RELEASE_KEY_ALIAS
        keyPassword RELEASE_KEY_PASSWORD
    }
}

2. 手动跑一遍完整的bundleRelease任务

有时候IDE的自动构建会跳过一些步骤,不如手动触发完整的构建:

  • 打开AS右侧的Gradle面板,找到你的项目 → Tasksbuild → 双击bundleRelease
  • 或者直接在终端敲命令:Windows用gradlew.bat bundleRelease,Mac/Linux用./gradlew bundleRelease

构建完之后,先去E:\E drive\myproject\app\build\outputs\bundle\release\看看有没有app-release.aab——默认生成路径是模块下的build文件夹,不是根目录的release文件夹!如果这里有文件,那就是路径不匹配,你可以指定输出路径到根目录的release:
buildTypes的release块里加:

release {
    // ... 其他配置 ...
    bundle {
        outputDirectory = file("$rootDir/release")
    }
}

这样生成的aab就会跑到你错误提示的路径里了。

3. 清缓存重新构建试试

有时候AS的缓存抽风也会导致这种找不到文件的问题:

  • 点顶部菜单BuildClean Project
  • 然后再点BuildRebuild Project
  • 之后再尝试生成签名Bundle

4. 确认Gradle插件版本和AS匹配

Android Studio 4.2.2对应的Gradle插件版本最好是4.2.0到4.2.2之间,去项目根目录的build.gradle里看看:

buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.2.2" // 和AS版本对应上
        // ... 其他依赖比如firebase、bugsnag这些 ...
    }
}

版本不匹配也可能导致各种奇怪的构建问题,尽量保持一致。


内容的提问来源于stack exchange,提问作者sanket Thakare

火山引擎 最新活动