如何为发布而不是调试创建密钥库?扑
Posted
技术标签:
【中文标题】如何为发布而不是调试创建密钥库?扑【英文标题】:How create keystore for release and not on debug? flutter 【发布时间】:2019-02-25 05:22:01 【问题描述】:我使用这个网站https://flutter.io/android-release/按照部署flutter的步骤进行操作
当我运行 flutter build apk 时出现此错误
Execution failed for task ':app:validateSigningRelease'.
> Keystore file filepath/key.jks> not found for signing config 'release'.
我缺少什么来制作它,所以它会签署发布?
当我将 build.gradle 中的 signingConfig signingConfigs.release
行更改为 signingConfig signingConfigs.debug
时,它可以工作,但需要它来签署发布
我的 build.gradle
signingConfigs
release
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
buildTypes
release
signingConfig signingConfigs.release
minifyEnabled true
useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
文件夹结构:
Project
-Android
|-- .gradle
|-- app
| |-- src
| | `-- main
| | |-- java
| | |-- res
| | `-- AndroidManifest.xml
| `-- build.gradle
|-- gradle
| `-- wrapper
|-- gradle.properties
|-- gradlew
|-- local.properties
|-- proguard-rules.pro
|-- gradlew.bat
`-- key.properties
我遗漏了 wrapper、java 和 res 下的文件
key.properties
storePassword=<placeholder1>
keyPassword=<placeholder1>
keyAlias=key
storeFile=</Users/Conner/key.jks>
【问题讨论】:
你能发布你的android项目的文件夹结构吗? 我该怎么做呢? 只拍一张你的文件夹结构的照片?您在哪里定义了 keyAlias, ... vars? 我在key.properties中定义了,edit中的文件夹结构 是的,就是这样,非常感谢你对我的包容......密码也不应该使用它们 【参考方案1】:您必须删除“
storePassword=yourpasswordhere
keyPassword=yourkeypasswordhere
keyAlias=youralias
storeFile=/your/path/key.jks
【讨论】:
【参考方案2】:为避免冲突,请将 key.jks 文件放在 android\app\key 文件夹中并在 key.properties 文件中添加
storePassword=yourpasswordhere
keyPassword=yourkeypasswordhere
keyAlias=youralias
storeFile=key/key.jks
【讨论】:
根据文档,kjs 文件应该保存在安全的地方,不公开,并且不应该在你的应用文件夹中。【参考方案3】:如果您使用的是 Android Studio,并且如果您想将密钥放在 android 以外的任何文件夹中,则您必须在 key.properties 中为 storeFile 使用以下格式强>文件:
storePassword=app_bar_demo_key
keyPassword=app_bar_demo_key
keyAlias=app_bar_demo_key
storeFile=E:\\Dharmik\\Flutter\\Demo\\Keystore\\your_key_name.jks
我已经演示了我的密钥路径,但您必须使用存储密钥的路径,但您的路径应使用 '\\'(双反斜杠)而不是 '\' 分隔(单反斜杠)如上所示。 使用这种方法,您可以将钥匙放在您想要的任何位置。
【讨论】:
以上是关于如何为发布而不是调试创建密钥库?扑的主要内容,如果未能解决你的问题,请参考以下文章
如何为 R 中使用百分比而不是计数作为 y 轴的数据框创建条形图?