我已遵循本文档中的所有步骤:https://docs.flutter.dev/deployment/android#signing-the-app
使用命令时:
flutter build appbundle
我收到此错误:
FAILURE:构建失败并出现异常。 什么地方出了错: 任务“:app:signReleaseBundle”执行失败。 执行 com.android.build.gradle.internal.tasks.FinalizeBundleTask$BundleToolRunnable 时发生故障 java.lang.NullPointerException(无错误消息)
我之前尝试将应用程序包发布到 Google Play 商店,但收到一条消息,指出我的 SHA-1 密钥不正确。为了解决这个问题,我点击了“更改应用程序签名密钥”。
现在它说:“Google 将为您的版本生成并保护应用程序签名密钥”。我不确定这是否就是我现在收到此错误的原因。如果需要的话可以提供更多详细信息,谢谢您的帮助!
解决了我的问题,在应用程序 - > build.gradle 文件 - >signingConfigs
当您所要做的就是复制+粘贴文档中显示的实际代码时,我正在声明signingConfigs内的关键属性。
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
您只需在 key.properties 文件中输入密钥库属性。
简单!
在我的
android/app/build.gradle
文件中,我在文件的开头正式添加了以下内容:
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (localPropertiesFile.exists()) {localPropertiesFile.withReader('UTF-8') {reader -> localProperties.load(reader)}}
顶部对于
if
文件只有一个 localPropertiesFile
声明。添加 keystoreProperties 后如下所示:
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(newFileInputStream(keystorePropertiesFile))}
if (localPropertiesFile.exists()) {localPropertiesFile.withReader('UTF-8') {reader -> localProperties.load(reader)}}
一切顺利。 加... 在下面你有:
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
我更改/添加了一些实现,我有:
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "com.google.android.gms:play-services-ads:22.2.0"
implementation "androidx.multidex:multidex:2.0.1"
}
您似乎忘记将这两个文件添加到您的 android 文件夹中
添加它们后,它对我来说效果很好
✓ 构建了 build/app/outputs/bundle/release/app-release.aab (50.0MB)。