diff --git a/selendroid-standalone/src/main/java/io/selendroid/builder/SelendroidServerBuilder.java b/selendroid-standalone/src/main/java/io/selendroid/builder/SelendroidServerBuilder.java
index <HASH>..<HASH> 100644
--- a/selendroid-standalone/src/main/java/io/selendroid/builder/SelendroidServerBuilder.java
+++ b/selendroid-standalone/src/main/java/io/selendroid/builder/SelendroidServerBuilder.java
@@ -393,6 +393,9 @@ public class SelendroidServerBuilder {
           String keystorePassword = serverConfiguration.getKeystorePassword();
           char[] keystorePasswordCharArray = (keystorePassword == null)
                                              ? null : keystorePassword.toCharArray();
+          if (keystorePasswordCharArray == null) {
+            throw new RuntimeException("No keystore password configured.");
+          }
           keystore.load(in, keystorePasswordCharArray);
           cert509 =
               (X509Certificate) keystore.getCertificate(serverConfiguration.getKeystoreAlias());
@@ -400,7 +403,8 @@ public class SelendroidServerBuilder {
         }
       }
     } catch (Exception e) {
-      log.log(Level.WARNING, "Error getting signature algorithm", e);
+      log.log(Level.WARNING, String.format(
+          "Error getting signature algorithm for jarsigner. Defaulting to %s. Reason: %s", sigAlg, e.getMessage()));
     }
     return sigAlg;
   }
Don't log the exception stack trace when getting signature algorithm

Summary: It turns out people are likely to confuse this exception for the reason tests fail.

Test Plan: `$ mvn clean install`

Reviewers: kumar.rangarajan, ainsej, juyuan.yang<I>

Reviewed By: juyuan.yang<I>

Differential Revision: <URL>