2

I am using Jenkins-CI to build an Android app I'm working on at work. It appears to sign the apk just fine but when I try to install it I'm told that it isn't signing one resource file. I decided to add a shell step after the ant build using jarsigner, again it appears to sign the apk fine but when I download the apk and try an adb install on my desktop I get an INSTALL_PARSE_FAILED_NO_CERTIFICATES error. Does anyone have a clue what would cause Jenkins-CI to not sign the apk correctly? I am using the same basic config at home and its working great. I'm running out of ideas on what to do here.

DonGru
  • 13,532
  • 8
  • 45
  • 55
smccloud
  • 390
  • 2
  • 7
  • 16

2 Answers2

1

Try checking out Creating Your Android-Market-Ready APK

musSharApp
  • 21
  • 1
  • Problem is, that shows the APK as properly signed. I ended up writing a bash script that signs & zipaligns it ~15 minutes after the build has finished. Not what I really want but its better than nothing I guess. – smccloud Aug 30 '11 at 17:38
1

Maybe your Jenkins node is installed on a machine running JDK 7?

I had the same problem.

With JDK 7, the signing process uses the 'SHA256' digest algorithm, which seems to be incompatible with Android.

Unfortunately I haven't found a way to configure this behavior anywhere so my solution was to install JDK 6 on the node (see How can I configure a Hudson job to use a specific JDK? for this).

See also:

Community
  • 1
  • 1
BoD
  • 10,838
  • 6
  • 63
  • 59