【发布时间】:2017-03-13 23:43:53
【问题描述】:
我有一个项目在 cordova 6.3.1 上运行良好。
然后我将 cordova 和我的项目更新为 6.4.0 。在此之后,我第一次构建时,gradle 也自动更新了。
现在我遇到了一个重要问题:
我需要在 build.json 文件中包含密钥库和别名密码,否则发布 apk 生成失败并出现错误。
我使用这样的 build.json 文件:
{
"android": {
"debug": {
"keystore": "C:\\Path\\To\\Keystores\\debug.keystore",
"storePassword": "debugpass",
"alias": "thedebugalias",
"password" : "debugpass",
"keystoreType": ""
},
"release": {
"keystore": "C:\\Path\\To\\Keystores\\theapp.keystore",
"storePassword": "",
"alias": "thealias",
"password" : "",
"keystoreType": ""
}
}
}
然后运行这个命令生成release apk:
cordova build android --release --buildConfig=build.json
到目前为止,这运行良好,它提示我输入密钥库和别名密码。然后构建apk ok。
升级到 Cordova 6.4.0 后,它不再工作了。它从不提示输入密码,然后构建过程失败,因为“密钥库已被篡改或密码不正确”。
如果我在 build.json 文件中包含密码,则可以正常生成发行版 apk,因为那里已经有密码并且不需要提示它们。
我不喜欢在 build.json 文件中使用纯文本形式的密钥库密码。有没有人遇到过同样的问题?有关如何解决此问题的任何想法?
谢谢。
编辑:我注意到另一个问题。它没有显示我的图标和闪屏。 编辑:关于不显示图标和启动画面的最后一个问题是新 Cordova 版本中的一个错误,正在解决https://issues.apache.org/jira/browse/CB-12077
【问题讨论】:
-
为什么投反对票?这是一个重要的问题,我在网上找不到答案。我刚刚编辑了问题并添加了更多细节,以防它不够清楚。
-
我遇到了完全相同的问题,我也不想在 build.json 文件中包含我的密码。不知道为什么有人投了反对票,但这是一个有效的问题。
-
如果您在 config.xml 上强制使用 android 6.1.0,如该链接中所述,它可以解决第二个问题。
-
@Vero 似乎有关于这个问题的更新 - issues.apache.org/jira/browse/CB-12159。根据最新评论,将 build.gradle' if (task.name == 'validateReleaseSigning') 更改为 if (task.name == 'assembleRelease') 似乎可以解决问题。
标签: android cordova gradle build release