2016-01-25 141 views
1

我有一个Cordova项目,我正在尝试为Android构建。我使用的是Cordova 5.3.3和cordova-android 5.0.0。根据科尔多瓦Android的文档发现here为了让cordova签署它生成的发行版apk,我需要传递给它签名配置,包括密钥库密码和密钥密码。当我通过build.json(我通过--buildConfig属性传递给我的cordova构建命令)包含这个配置时,一切都按预期工作。但是,由于build.json是致力于Git的,并且我希望密钥库和密钥密码不在其中供所有人阅读,所以我试图找到另一种方式来通过cordova这些密码。该文件指出:通过命令行将密钥库密码传递给Cordova Android

These parameters can be specified using the command line arguments above to build or run scripts.

这使我相信,我可以运行下面的命令建立通过在命令行中的密码,而不是把它放置在build.json的:

cordova build android --release --buildConfig cordova-config/build.json --password myPassword 

然而,这失败,出现以下错误:

Unknown platforms: myPassword

上午我误解的东西在文件中或这与科尔多瓦 - 安卓的版本,我使用的问题吗?

+0

哪一个IDE你正在使用? Eclipse还是Android Studio? – Dhruv

+0

IDE并不重要。我想要做的是从命令行执行cordova build命令。 – Christina

+0

把build.json放在gitignore上所以它没有发布 – jcesarmobile

回答

2

这是命令:

cordova build android --release --keystore=pathToKeystore --storePassword=kspassword --alias=aliasName --password=aliasPassword 

但有一个错误,如果你更新项目到科尔多瓦的Android 5.1.0它不工作

并更换平台/安卓/科尔多瓦/lib/build.js与this code它会工作(它可能与科尔多瓦android 5.0.0,但没有测试)

另一种选择是不提交build.json,或不设置密码,如果你没有在build.json上提供密码,你会被提供手动

+0

我也期待这个工作,但相反,我得到以下错误: 未知平台:yourKeystore.keystore,yourKeystorePassworkd,yourAlias,yourAliasPasswork – Christina

+0

我已更新命令和答案,有一个错误和--keystore参数不起作用。 – jcesarmobile

+0

事实上,使用等号似乎解决了这个问题。感谢您的发现。 – Christina

相关问题