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