在构建和签署我的apks时,我遇到了让cordova提示我输入build.json文件中storePassword和密码字段的密码的问题。我转向的解决方案是在build.json文件中输入它们。
我的问题:在build.json中手动输入密码时是否有任何安全问题(例如密码以某种方式包含在实际签名的apk中等等)?
我在我的cordova项目的根目录中有build.json,因此它会被自动检测到,我所要做的就是:
cordova build android --release
...这就是我走这条路的原因(它才有效)。我知道这可能看起来像一个愚蠢的问题,但科尔多瓦文档声明:
“对于发布签名,可以排除密码和构建系统 将发出询问密码的提示。“
...这意味着由于某种原因,不应将密码输入build.json进行发布。
答案 0 :(得分:2)
我认为主要原因是避免在build.json
中以纯文本格式存储密码,而是在控制台中输入密码:
{
"android": {
"debug": {
"keystore": "../android.keystore",
"storePassword": "android",
"alias": "mykey1",
"password" : "password",
"keystoreType": ""
},
"release": {
"keystore": "../android.keystore",
"storePassword": "",
"alias": "mykey2",
"password" : "password",
"keystoreType": ""
}
}
}
或取自环境变量:
cordova run android --release -- --keystore=../my-release-key.keystore --storePassword=%STORE_PASS% --alias=mykey2 --password=password
。
答案 1 :(得分:1)
密码以某种方式包含在实际签名的apk
中
build.json
文件不会包含在构建的最终apk中。您可以通过解压缩apk进行交叉检查来验证这一点。
希望有所帮助。