Flutter打包APK遇双问题:Registrar弃用警告+签名配置失败
Flutter构建APK问题解决方案
一、move_to_background插件Registrar弃用警告
- 问题原因:插件v1.0.2使用了Flutter已弃用的
PluginRegistry.RegistrarAPI,若更换的版本未适配新API,警告会持续存在。 - 解决办法:
- 升级插件到最新版,确认是否已适配
FlutterPlugin新API。 - 若插件未维护,替换为功能类似的活跃插件,或直接通过原生API实现后台跳转:Android端调用
Activity.moveTaskToBack(true),结合Flutter平台通道实现。 - 临时忽略警告(不推荐长期使用):在Android项目的
app/build.gradle中添加配置:android { lintOptions { disable 'Deprecation' } }
- 升级插件到最新版,确认是否已适配
二、发布版签名配置未设置Keystore文件(构建失败核心原因)
该问题与move_to_background插件无关,是Flutter发布APK必备的签名配置缺失导致,解决步骤:
- 生成Keystore文件(无则创建):
终端执行命令(替换路径和参数):
记录设置的密码和别名。keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key - 创建签名配置文件:
在项目android/app目录下新建key.properties,填入以下内容(替换为你的信息):storePassword=你的Keystore密码 keyPassword=你的密钥密码 keyAlias=key storeFile=../key.jks(或Keystore绝对路径) - 修改app/build.gradle:
- 在文件开头添加读取配置的代码:
def keystoreProperties = new Properties() def keystorePropertiesFile = rootProject.file('key.properties') if (keystorePropertiesFile.exists()) { keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) } - 在
android块内添加签名配置(放在buildTypes之前):signingConfigs { release { keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null storePassword keystoreProperties['storePassword'] } } - 更新
buildTypes的release配置:buildTypes { release { signingConfig signingConfigs.release } }
- 在文件开头添加读取配置的代码:
- 重新执行构建:
flutter build apk --release
内容的提问来源于stack exchange,提问作者testproftest 23
相关产品推荐
相关产品推荐

