Notice (2018-05-24): bugzilla.xamarin.com is now in
Please join us on
Visual Studio Developer Community and in the
Mono organizations on
GitHub to continue tracking issues. Bugzilla will remain
available for reference in read-only mode. We will continue to work
on open Bugzilla bugs, copy them to the new locations
as needed for follow-up, and add the new items under Related
Our sincere thanks to everyone who has contributed on this bug
tracker over the years. Thanks also for your understanding as we
make these adjustments and improvements for the future.
Please create a new report on
Developer Community with
your current version information, steps to reproduce, and relevant error
messages or log files if you are hitting an issue that looks similar to
this resolved bug and you do not yet see a matching new report.
With Xamarin Android 22.214.171.124 and JDK 7u67, using Publish Android Application tool produces an APK that fails after download from Google Play (and presumably others) on some devices. The problem relates to signing the APK.
* Publish Android app using Publish Android Application tool
* Attempt to install APK to device using adb install ...
Result on Nexus 7, Android 4.4.4:
Result on Samsung Galaxy Tab 3, Android 4.2.2:
* Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
This appears to be related to changes in jarsigner in JDK 7:
Workaround (at least on a Galaxy Tab 3):
* Sign APK using jarsigner from command prompt with -sigalg SHA1withRSA -digestalg SHA1 options.
I should add - this is using the tool from Visual Studio - I have not tested from Xamarin Studio on Mac.
I have tried to reproduce this issue and able to reproduce. I followed the below steps to reproduce this issue:
1. Publish Android app using Publish Android Application tool in VS.
2. Install APK to device using adb install ...
I observed that the published APK is installed successfully on Samsung Galaxy S5 (4.4.2) and Samsung Galaxy Note 3 (4.4.2). But same APK installation is failed on Samsung Galaxy Tab 3 (4.2.2) and shows the below error:
adb Log: https://gist.github.com/sunil360/f1e780052c9dee2eb22d
Xamarin 126.96.36.199 (9e6752d7279ca6b20eb4f728e50cdfaf4207da61)
Xamarin.Android 188.8.131.52 (c0168255507205e3f50aba560ccf971c41a682ff)
Xamarin.iOS 184.108.40.206 (6049af67092da016508817b895787e66f70f39ad)
I should add that the faulty APK will successfully upload to Google Play.
Customers will then report "package not signed correctly" errors.
I am having the same issue reported by my users on Galaxy 3. App uploads fine to Google Play but fails to install with "not signed properly" on some devices.
I just encountered this problem and it took me hours to finally be able to understand.
I signed my apks from my previous PC (Windows 7), no problem
I sign them from from my new PC (Windows 8, jdk 7 only), push to google play, no problem on upload and a few hours later this just explodes on all of the testing devices.
I was finally able to push a correction by signing my app manually. It seems another fix was to use a jdk6 (I find this particularly horrible).
I really hope this get fixed soon as this is a major problem for deployments, especially because google play thinks the APK is okay.
I'm willing to help if you need info / test for the fix.
It would be great to be able to choose the algorithm when using the JDK 7 during the publishing process.
Just to give notice to Xamarin, there are duplicates of this report or at least somewhat related regarding the signing algorithm and JDK 7:
*** This bug has been marked as a duplicate of bug 22897 ***