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

引入flutter_downloader后Flutter Release APK无法在Android 13安装

解决引入flutter_downloader后Android 13设备无法安装Release APK的问题
  • 启用Release包签名
    Android 13对未签名的安装包有严格限制,你的gradle配置中Release签名逻辑被注释,这会导致生成的APK无法正常安装。请取消signingConfigs和buildTypes中的注释,确保Release包被正确签名:

    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
            storePassword keystoreProperties['storePassword']
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
    

    同时确保key.properties文件存在且配置正确,包含签名密钥的完整信息。

  • 适配flutter_downloader的Android 13配置规则
    引入flutter_downloader后,需在AndroidManifest.xml中补充必要配置以适配Android 13的要求:

    1. 添加Android 13专属存储权限:
      <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
      <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
      <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
      
    2. 为flutter_downloader相关组件声明android:exported属性(Android 12+强制要求):
      针对下载服务、广播接收器等组件,添加android:exported="true"或"false"(根据组件用途调整),示例:
      <service
          android:name="vn.hunghd.flutterdownloader.DownloadService"
          android:exported="false"
          android:permission="android.permission.FOREGROUND_SERVICE">
          <intent-filter>
              <action android:name="vn.hunghd.flutterdownloader.action.DOWNLOAD_COMPLETE"/>
              <action android:name="vn.hunghd.flutterdownloader.action.UPDATE_PROGRESS"/>
          </intent-filter>
      </service>
      
  • 更新flutter_downloader到兼容版本
    检查pubspec.yaml中flutter_downloader的版本,确保它支持Android 13(compileSdk 33)。建议更新到最新稳定版,执行命令:

    flutter pub upgrade flutter_downloader
    
  • 验证APK完整性
    重新构建Release包后,用Android SDK的aapt工具检查APK是否存在无效配置:

    aapt dump badging build/app/outputs/flutter-apk/app-release.apk
    

    查看输出中的错误信息,比如权限冲突、组件配置错误等,针对性修复。

  • 彻底清理后重新构建
    执行以下命令清理缓存并重新打包:

    flutter clean
    rm -rf ~/.pub-cache/hosted/pub.dartlang.org/flutter_downloader-*
    flutter pub get
    flutter build apk --release
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 23:30:17