无法列出密钥库中的证书。可能是因为密码不正确

Could not list certificates in keystore. Probably because the password was incorrect

我 运行ning calabash-android 在 docker 文件中,当我 运行 葫芦测试时我得到了错误

/usr/local/bundle/gems/calabash-android-0.7.2/lib/calabash-android/java_keystore.rb:6:in `initialize': No such keystore file '/home/core/Android/debug.keystore' (RuntimeError)

我试过这个 this 但对我不起作用。

编辑

设置路径后出现如下错误

/lib/calabash-android/java_keystore‌​.rb:32:in `initialize': Could not list certificates in keystore. Probably because the password was incorrect. (RuntimeError) 

可以通过导航到 /.android 目录并删除 debug.keystore 文件(如果存在)并尝试命令

keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -keysize 2048 -validity 10000 

然后导航到功能文件所在的目录并使用命令

设置葫芦 android
calabash-android setup

使用命令

退出新的 debug.keystore 文件
calabash-android resign <apk path>

最后我们可以运行使用命令

进行测试
calabash-android run <apk path>

有一件有趣的事情需要注意。如果您的密钥库密码有 $,那么您需要在 .calabash_settings 文件中对其进行转义。

查看这个文件的内容:

{"keystore_location":"my-release-keystore.jks","keystore_password":"abc3","keystore_alias":"MyAlias"}

如果你这样离开 "abc3",你应该会得到一个错误。然后你应该像下面的例子一样转义密码:

{"keystore_location":"my-release-keystore.jks","keystore_password":"abc\3","keystore_alias":"MyAlias"}

查看 \\ 转义特殊字符。