我拥有以下的构建环境:
但是,当从Jenkins作业中使用相同的构建命令时,会出现以下错误:
在Jenkins的Ant目标步骤中,我设置了以下属性:
什么原因会导致jenkins签名失败,而通过命令行执行相同的目标却可以正常工作?
我已经在谷歌上搜索了这个问题,发现一些人正在编写自己的bash脚本来签名他们的APK,并在之后作为Shell目标运行,但这似乎是一种很不好的方法......有什么建议吗?
谢谢
- Ubuntu
- Java 1.6.0_24
- Apache ant 1.8.2
- Jenkins 1.427
- Jetty 6.1.26
ant release
,然后在提示时输入keystore密码。但是,当从Jenkins作业中使用相同的构建命令时,会出现以下错误:
release:
[echo] Signing final apk...
[signjar] Signing JAR: /home/james/.jenkins/workspace/android-sam/androidsam/bin/AndroidSam-unsigned.apk to /home/james/.jenkins/workspace/android-sam/androidsam/bin/AndroidSam-unaligned.apk as mykeystore
[signjar] jarsigner: Certificate chain not found for: mykeystore . mykeystore must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.
BUILD FAILED
/home/james/tools/android-sdk-linux_x86/tools/ant/main_rules.xml:641: jarsigner returned: 1
在Jenkins的Ant目标步骤中,我设置了以下属性:
key.store=my-release-key.keystore
key.alias=mykeystore
key.store.password=<mypass>
key.alias.password=<mypass>
sdk.dir=/home/james/tools/android-sdk-linux_x86
什么原因会导致jenkins签名失败,而通过命令行执行相同的目标却可以正常工作?
我已经在谷歌上搜索了这个问题,发现一些人正在编写自己的bash脚本来签名他们的APK,并在之后作为Shell目标运行,但这似乎是一种很不好的方法......有什么建议吗?
谢谢