Flutter 颤振问题|未为签名配置发布设置密钥库文件

Flutter 颤振问题|未为签名配置发布设置密钥库文件,flutter,Flutter,我在运行命令时遇到了这个问题:flatterbuildappbundle--release或flatterbuildapk--release 我将遵循flifter.dev/docs的步骤:但仍然是一样的 我创建key.properties文件并替换build.grade文件中的内容 还将反生成类型替换为: signingConfigs { release { keyAlias keystoreProperties['keyAlias']

我在运行命令时遇到了这个问题:flatterbuildappbundle--release或flatterbuildapk--release

我将遵循flifter.dev/docs的步骤:但仍然是一样的

我创建key.properties文件并替换build.grade文件中的内容

还将反生成类型替换为:

signingConfigs {
       release {
           keyAlias keystoreProperties['keyAlias']
           keyPassword keystoreProperties['keyPassword']
           storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
           storePassword keystoreProperties['storePassword']
       }
   }
   buildTypes {
       release {
           signingConfig signingConfigs.release
       }
   }
但仍然面临同样的问题:

  • 出了什么问题: 任务“:app:validateSigningRelease”的执行失败。 未为签名配置版本设置密钥库文件

有人已经解决了这个问题?

尝试从密钥库文件提到的路径中删除

这似乎就是问题所在

key.properties
文件的内容应如下所示

storePassword=XXXXXX
keyPassword=XXXXXXXX
keyAlias=key
storeFile=D:/XXXX/XXXXX/key.jks
storePassword=xxx
keyPassword=xxx
keyAlias=key
storeFile=F:\\xxx\\key.jks

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
    }
}
这些说明对我来说不是现成的。我必须将
key.properties
文件路径更改为:

def keystorePropertiesFile = rootProject.file('app/key.properties')
您可以通过将值打印到控制台来测试配置是否被正确读取。例如,在gradle文件中,您可以有:

println keystorePropertiesFile

在我的例子中,为了确保对象填充了您期望的值,我最初在key.properties中设置了my key.jks的路径,如下所示:

storeFile=~/key.jks
它无法阅读,所以我所要做的就是将其更改为:

storeFile=Users/tomas/key.jks

我的问题与我如何在Gitlab中存储CI变量有关。事实证明,如果CI变量受到保护,它们将不会通过
echo
打印到文件中(我使用的是该文件)。取消保护变量修复了我的问题(在私有repo中)但是公共项目不应该这样做。

例如,您是否更改了应用程序ID?
然后检查key.prporties文件是否在那里

我的问题是我把
key.properties
文件放在了
/android/app
文件夹中,它应该在
/android/

中,这和我在做了大量研发之后面临的问题是一样的。。。。 我做了以下工作: 首先执行此命令:
keytool-genkey-v-keystore c:\Users\Ziya\key.jks-storetype jks-keyalg RSA-keysize 2048-validity 10000-alias key

然后在key.properties中:将存储文件更改为该值:
C:\\Users\\Ziya\\key.jks

结果我得到:

flutter build appbundle
Running Gradle task 'bundleRelease'...

Running Gradle task 'bundleRelease'... Done
    5.3s
√ Built build\app\outputs\bundle\release\app-release.aab        
(17.7MB).

如果您想为测试目的构建APK文件,请确保在
android/app/build.gradle
中使用调试签名配置:

buildTypes {
    release {
        signingConfig signingConfigs.debug
    }
}

这里的教程有一些问题

在key.properties中,删除密码周围的任何内容
同样在密钥路径中,删除它将起作用的引号

我的问题是我将key.properties文件存储在app文件夹而不是android文件夹中。

这看起来像是一个错误,因为您没有
构建类型{release{signingConfig signingConfigs.release}
在你的build.gradle…我也遇到了同样的问题,这个解决方案对我有效

这说明了你在应用程序上存储key.properties文件的路径,将其保存在android文件夹中是好的,因为它只涉及android签名

def keystorePropertiesFile = rootProject.file('app/key.properties')


Change this

storePassword=<XXXXX>
keyPassword=<XXXXXX>
keyAlias=key
storeFile=<C:/Users/saint/Desktop/key.jks>

to 

storePassword=XXXXXX
keyPassword=XXXXXXXX
keyAlias=key
storeFile=D:/XXXX/XXXXX/key.jks
def keystorePropertiesFile=rootProject.file('app/key.properties')
改变这个
存储密码=
钥匙密码=
keyAlias=密钥
存储文件=
到
storePassword=XXXXXX
keyPassword=XXXXXXXX
keyAlias=密钥
storeFile=D:/XXXX/XXXXX/key.jks
正如的意思,由于

为我工作

对于windows用户:

  • key.jks
    文件放入
    //android/app/Users/user\u name/
  • 打开
    key.properties
    文件,该文件必须在
    /android
    文件夹中创建(如果尚未创建,则相应地进行编辑)
  • 现在将
    key.properties
    文件中的
    storeFile
    的值编辑为
    /User/User\u name/key.jks
  • 对于Linux用户:

  • 按照上述步骤1至2的说明进行操作
  • key.properties
    文件中将
    storeFile
    的值编辑为
    User/User\u name/key.jks
  • 注意:(前面的
    /
    已删除)


    就是这样,它现在应该可以为您工作了!

    我正好遇到了这个错误,我通过为
    storeFile
    添加驱动器名来解决它,类似于:

    C:/xxx/xxx/key.jks
    

    当然,在Windows中。

    我只是用这种方式解决了我的问题

    storePassword=XXXXXX
    keyPassword=XXXXXXXX
    keyAlias=key
    storeFile=D:/XXXX/XXXXX/key.jks
    
    storePassword=xxx
    keyPassword=xxx
    keyAlias=key
    storeFile=F:\\xxx\\key.jks
    
    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
        }
    }
    

    我的错误是插入值而不是变量。 不更改signingConfigs{…}块

    错误:

    signingConfigs {
        release {
            keyAlias keystoreProperties['key']
            keyPassword keystoreProperties['12345678qwerty']
            storeFile keystoreProperties['/Users/Me/key.jks'] ? file(keystoreProperties['/Users/Me/key.jks']) : null
            storePassword keystoreProperties['12345678qwerty']
        }
    }
    
    右代码:

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

    这是给windows用户的。 在我使用的key.properties中:

    storeFile= C:\users\username\key.jks
    
    相反,我们需要使用:

    storeFile= C:/users/username/key.jks
    

    这解决了我的问题!

    在android文件夹中创建key.properties文件。如果在app文件夹中创建key.properties文件,则可能会发生此错误。
    我也遇到了这个问题。

    您必须创建一个在这样的路径中具有关键属性的文件

    [project]/android/key.properties 
    
    这就是文件数据

    storePassword=password
    keyPassword=password
    keyAlias=upload
    storeFile=C:/user/project/upload-keystore.jks
    

    这很奇怪,因为在我的情况下根本不需要这样做。也许你的路径设置正确。我不确定Flatter是如何生成这些文件的,以及在什么情况下属性文件路径可能会出错。是的。经过12小时的搜索,这个很好。谢谢你这解决了问题,甚至不知道发生了什么就因为你把key.properties文件放在android下的“app”文件夹中,而不是直接放在“android”文件夹中。哦,美赞臣的问题也是一样,关于谢谢你的更多信息太多了,谢谢,上面的评论都不管用,但这一条确实管用了!+1。玫瑰是红紫罗兰,蓝色你在第31行漏掉了三个“/”。