Flutter打包APK失败:Release签名配置缺失storeFile属性求助
Flutter打包APK失败:SigningConfig "release"缺失storeFile
报错详情
任务':app:packageRelease'执行失败。
执行com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable时发生异常
SigningConfig "release"缺少必填属性"storeFile"。
你提供的根目录build.gradle内容
buildscript { ext.kotlin_version = '1.6.10' repositories { google() jcenter() } dependencies { //classpath 'com.android.tools.build:gradle:4.1.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'com.android.tools.build:gradle:7.0.0' //classpath 'com.android.tools.build:gradle:6.7' } } allprojects { repositories { google() jcenter() } } rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" project.evaluationDependsOn(':app') } /*task clean(type: Delete) {cdcd\ delete rootProject.buildDir }*/
问题分析
你提供的是项目根目录的build.gradle,但APK的签名配置需要在**android/app/build.gradle**文件中定义。当前你的release构建类型未配置有效的签名信息,导致打包时无法完成签名步骤。
解决步骤
- 打开项目中的
android/app/build.gradle文件(注意不是根目录的那个)。 - 在
android代码块内添加完整的release签名配置:android { // 保留你已有的其他配置(compileSdkVersion、defaultConfig等) signingConfigs { release { storeFile file('your-key-file.jks') // 替换为你的签名文件路径,比如app目录下的key.jks storePassword 'your-store-password' // 替换为密钥库密码 keyAlias 'your-key-alias' // 替换为密钥别名 keyPassword 'your-key-password' // 替换为密钥密码 } } buildTypes { release { signingConfig signingConfigs.release // 将release构建关联到上面的签名配置 // 保留你已有的其他release配置(minifyEnabled、shrinkResources等) } } } - 若没有签名文件,可通过Android Studio生成:点击顶部菜单栏
Build > Generate Signed Bundle/APK,按向导创建签名文件并保存到android/app目录下。 - 确认签名文件路径、密码、别名信息完全正确,避免拼写错误。
内容的提问来源于stack exchange,提问作者1988
相关产品推荐
相关产品推荐

