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.
Asked
Active
Viewed 924 times
2
2 Answers
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: