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

Flutter在Android Studio构建Release Bundle/APK失败,求解决方案

解决Flutter Release Bundle构建失败(Gradle退出码1)的实用方案

我之前折腾Flutter Release Bundle构建时也碰到过类似的坑,看你已经试过升级依赖、Flutter和flutter clean但没解决,结合你的日志信息,给你几个实际可行的排查方向:

1. 先抓准真正的失败原因

你目前贴的日志只有废弃API警告,这些通常不会直接导致构建失败,关键错误信息被漏掉了。执行构建时加上--verbose参数获取完整日志:

flutter build appbundle --release --verbose

重点找FAILURE: Build failed with an exception.后面的内容,那才是定位问题的核心——比如常见的签名配置错误、依赖冲突、资源重复、权限配置问题等。

2. 检查Release签名配置(高频踩坑点)

很多时候Release构建失败都是签名配置出了问题。打开android/app/build.gradle,确认signingConfigsbuildTypes里的release配置是否完整正确:

signingConfigs {
    release {
        keyAlias '你的密钥别名'
        keyPassword '你的密钥密码'
        storeFile file('你的密钥库文件路径.jks')
        storePassword '你的密钥库密码'
    }
}

buildTypes {
    release {
        signingConfig signingConfigs.release
        // 其他压缩、混淆配置...
    }
}

如果是第一次构建Release包,别忘了先生成签名密钥库:

keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

3. 处理过时依赖的潜在风险

虽然废弃API警告不直接终止构建,但老版本依赖可能和新版Flutter/Android SDK存在兼容性问题,建议把日志里标红的依赖升级到最新稳定版:

  • firebase_admob:0.9.0+7版本太老,官方已经推荐迁移到替代包google_mobile_ads
  • permission_handler:3.3.0 → 升级到10.x以上的稳定版
  • url_launcher:5.2.3 → 升级到最新稳定版

修改pubspec.yaml里的依赖版本后,重新执行:

flutter pub get
flutter clean
flutter build appbundle --release

4. 升级Gradle和Android Gradle Plugin

过时的Gradle版本也会引发各种兼容性问题。打开android/build.gradle,更新这两个核心组件的版本:

  • classpath 'com.android.tools.build:gradle:x.x.x'更新到最新稳定版(比如7.4.2)
  • distributionUrl=https\://services.gradle.org/distributions/gradle-x.x.x-all.zip更新到对应兼容版本(比如7.5)

更新后同步Gradle,再尝试构建。

5. 排查资源或混淆问题

如果日志里出现duplicate resources错误,检查android/app/src/main/res下是否有重名的资源文件;如果是混淆导致的错误,在android/app/proguard-rules.pro里添加第三方依赖的混淆规则(比如Firebase、广告SDK的规则)。


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

火山引擎 最新活动