diff --git a/src/Xamarin.Android.Build.Tasks/Tasks/AndroidSignPackage.cs b/src/Xamarin.Android.Build.Tasks/Tasks/AndroidSignPackage.cs index 0ba322cc509..3490173077c 100644 --- a/src/Xamarin.Android.Build.Tasks/Tasks/AndroidSignPackage.cs +++ b/src/Xamarin.Android.Build.Tasks/Tasks/AndroidSignPackage.cs @@ -32,6 +32,8 @@ public class AndroidSignPackage : AndroidToolTask public string TimestampAuthorityCertificateAlias { get; set; } + public string SigningAlgorithm { get; set; } + protected override string GenerateCommandLineCommands () { var cmd = new CommandLineBuilder (); @@ -42,7 +44,7 @@ protected override string GenerateCommandLineCommands () cmd.AppendSwitchIfNotNull ("-storepass ", StorePass); cmd.AppendSwitchIfNotNull ("-keypass ", KeyPass); cmd.AppendSwitchIfNotNull ("-digestalg ", "SHA1"); - cmd.AppendSwitchIfNotNull ("-sigalg ", "md5withRSA"); + cmd.AppendSwitchIfNotNull ("-sigalg ", string.IsNullOrWhiteSpace(SigningAlgorithm) ? "md5withRSA" :SigningAlgorithm); cmd.AppendSwitchIfNotNull ("-signedjar ", String.Format ("{0}{1}{2}-Signed-Unaligned.apk", SignedApkDirectory, Path.DirectorySeparatorChar, Path.GetFileNameWithoutExtension (UnsignedApk))); cmd.AppendFileNameIfNotNull (UnsignedApk); diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets index fb60b3fe313..e692a167c4d 100755 --- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets +++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets @@ -2439,6 +2439,7 @@ because xbuild doesn't support framework reference assemblies. ToolExe="$(JarsignerToolExe)" TimestampAuthorityUrl="$(JarsignerTimestampAuthorityUrl)" TimestampAuthorityCertificateAlias="$(JarsignerTimestampAuthorityCertificateAlias)" + SigningAlgorithm="$(ApkSigningAlgorithm)" />