Проблема заключается в плагине cordova-support-google-services
для Cordova.
На сегодня этот плагин build.gradle
выглядит так (24 октября 2019 г.):
dependencies {
classpath 'com.android.tools.build:gradle:+'
classpath 'com.google.gms:google-services:4.2.0'
}
Точнее, проблема заключается в этой зависимости:
classpath 'com.android.tools.build:gradle:+'
Это чрезвычайно хрупкий способ определения зависимостей. Знак «+» здесь означает «получить самую последнюю версию, доступную в репо». Если в репозитории опубликована более новая версия, и она нарушает сборку, то у всех, у кого есть этот плагин, свои проекты нарушаются. Это случилось сегодня. Выбранная версия повреждена com.android.tools.build:gradle:4.0.0
. Это требует некоторых вещей Kotlin.
Именно поэтому вам ВСЕГДА нужно заморозить зависимости, чтобы надежно построить ваш проект. Никогда не доверяй новым вещам. Эта зависимость прекрасно компилируется так же, как и вчера:
classpath 'com.android.tools.build:gradle:3.5.1'
Для тех, кто использует Cordova или Ionic, вы можете сделать быстрое исправление, чтобы иметь возможность построить проект путем замораживания зависимости в файле:
<projectroot>/platforms/android/cordova-support-google-services/<project>-build.gradle
Это не окончательное решение, хотя. Если вы переустановите платформу Android через Cordova, ошибка снова появится. Сопровождающий проекта должен либо заморозить зависимость, либо исправить ее для поддержки gradle 4.0.0. А пока просто используйте фиксированный форк этого плагина.