То, что вы вызываете исключение «время компиляции», известно как исключение Checked. Как вы говорите, компилятор потребует, чтобы вы включили его в свою подпись метода, и ваши вызывающие лица должны будут обрабатывать возможность его броска.
RuntimeException явно предназначено для случая «непроверенного» исключения.
Из документа docs
Не требуется метод объявлять в своем throws клаузе любые подклассы RuntimeException, которые могут быть выбраны во время выполнения метода, но не пойманы.
blockquote>Так что просто продлите RuntimeException, если вы хотите неконтролируемое изъятие.
Я понял это. У эмулятора была неправильная версия Служб Play. В первом ответе я задал следующие вопросы: службы Google Play устарели. Требуется 11011000, но найдено 10289574 , и это сработало.