Flutter打包AppBundle时keyAlias 'upload'方法找不到的问题
Flutter配置Keystore上传Google Play报错解决:找不到keyAlias()方法
报错详情
- 报错位置:
/Users/charl/Documents/Development/flutter_apps/twitter_drafts/android/app/build.gradle第64行 - 报错信息:评估项目':app'时出错,提示在BuildType$AgpDecorated_Decorated类型对象上找不到接收参数[upload]的keyAlias()方法
问题原因
签名配置语法错误——直接在buildTypes的release代码块中声明keyAlias等签名属性不符合Gradle Android插件规范。签名属性必须先定义在signingConfigs节点下,再在release块中引用该配置。直接写会被Gradle识别为调用方法,而BuildType对象并没有对应的keyAlias()方法,因此触发报错。
修复步骤
修改android/app/build.gradle文件中的签名配置部分:
android { namespace "com.pagefamdesigns.application_name" compileSdkVersion flutter.compileSdkVersion ndkVersion flutter.ndkVersion compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } sourceSets { main.java.srcDirs += 'src/main/kotlin' } // 添加签名配置节点 signingConfigs { release { keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null storePassword keystoreProperties['storePassword'] } } defaultConfig { applicationId "com.pagefamdesigns.application_name" minSdkVersion flutter.minSdkVersion targetSdkVersion flutter.targetSdkVersion versionCode 1 versionName flutterVersionName } buildTypes { release { // 引用上面定义的签名配置 signingConfig signingConfigs.release } } }
验证要点
- 确认
key.properties文件内容正确,且storeFile指定的路径下确实存在upload-keystore.jks文件
内容的提问来源于stack exchange,提问作者Charlie Page
相关产品推荐
相关产品推荐

