未找到用于签名配置“发布”的密钥库

Tom*_*meR 1 build keystore apk dart flutter

我在 Flutter 上运行此命令时遇到问题:flutter build appbundle --target-platform android-arm,android-arm64,android-x64我需要运行该命令才能执行flutter build apk.

构建.gradle

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

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

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.release
        }
    }
Run Code Online (Sandbox Code Playgroud)

key.properties

storePassword=XXXX
keyPassword=XXXX
keyAlias=key
storeFile="C:/Users/User/Key/key.jks"

Run Code Online (Sandbox Code Playgroud)

错误:

* What went wrong:
Execution failed for task ':app:validateSigningRelease'.
> Keystore file 'D:\Projects\Flutter\iusefully\android\app\"C:\Users\User\Key\key.jks"' not found for signing config 'release'.
Run Code Online (Sandbox Code Playgroud)

小智 9

这个解决方案对我有用......遵循这个说明

https://flutter.dev/docs/deployment/android#create-a-keystore

并且在 key.properties 中不要将值放入"" ex 中:

storePassword=454545
keyPassword=456565
keyAlias=upload
storeFile= C:/Users/{profile}/upload-keystore.jks
Run Code Online (Sandbox Code Playgroud)


Tom*_*meR 7

我终于找到了答案,我的问题出在key.properties文件中。出现问题是因为我使用storeFile="LOC" 了此变量的声明.jks不应在" " 引号中。

错误的: storeFile="C:/Users/User/Key/key.jks"

对: storeFile=C:/Users/User/Key/key.jks

另外,我将key.jks文件添加到文件/app夹中。