You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter迁移Android 13(API 33)时R8构建失败问题求助

解决Flutter迁移Android 13(API 33)的R8构建失败问题

1. 获取完整异常日志

你提供的异常信息不完整,重新执行构建任务,查看transformClassesAndResourcesWithR8ForPro的完整报错内容,重点关注Caused by开头的部分,它会明确指出具体的类冲突、缺失或混淆规则问题,这是定位根源的核心。

2. 升级Gradle相关依赖

Android 13适配需要配套的Gradle工具版本,按以下步骤更新:

  • 在项目根目录的build.gradle中,将Android Gradle插件版本升级到7.4.0及以上:
    buildscript {
      dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2'
        // 其他依赖项
      }
    }
    
  • 同步更新Gradle wrapper版本,修改gradle/wrapper/gradle-wrapper.properties:
    distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
    

3. 调整混淆规则(若启用混淆)

如果开启了代码混淆(minifyEnabled true),需针对Android 13 API补充或修正混淆规则:

  • 在app/proguard-rules.pro中添加适配规则,示例:
    # Android 13核心API兼容
    -keep class android.app.NotificationManager** { *; }
    -keep class android.os.PowerManager** { *; }
    # 根据完整日志提示的报错类,补充对应的keep规则
    
  • 检查第三方依赖库的混淆规则,确保旧库适配API 33的要求。

4. 替换旧测试运行器

你已启用AndroidX,但仍使用旧的支持库测试运行器,需替换为AndroidX版本:

defaultConfig {
    // 其他配置项
    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

5. 清理缓存后重新构建

执行以下操作清除旧缓存,避免干扰:

  • 运行Flutter命令:flutter clean
  • 手动删除项目根目录的.gradle文件夹和app/build文件夹
  • 重新执行构建:flutter build apk或flutter run

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 06:07:44