Flutter - 使用命令“flutter build appbundle”时收到错误 - 执行 com.android.build.gradle.internal.tasks 时发生故障

问题描述 投票:0回答:3

我已遵循本文档中的所有步骤: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 将为您的版本生成并保护应用程序签名密钥”。我不确定这是否就是我现在收到此错误的原因。如果需要的话可以提供更多详细信息,谢谢您的帮助!

android build.gradle release android-app-bundle
3个回答
3
投票

解决了我的问题,在应用程序 - > build.gradle 文件 - >signingConfigs

当您所要做的就是复制+粘贴文档中显示的实际代码时,我正在声明signingConfigs内的关键属性。

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

您只需在 key.properties 文件中输入密钥库属性。


0
投票

简单!

在我的

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"
}

0
投票

您似乎忘记将这两个文件添加到您的 android 文件夹中

  • *.密钥库
  • *.jks

添加它们后,它对我来说效果很好

✓ 构建了 build/app/outputs/bundle/release/app-release.aab (50.0MB)。

© www.soinside.com 2019 - 2024. All rights reserved.