Intereting Posts
Databinding и BaseObserver – Android MVVM Kotlin проверка недействительности if-else функциональный подход … Как? Выражение не может быть селектором (происходит после точки) в Котлине Неверный положительный результат в проверке линзы Android для LinkedHashMap.remove () Можно ли переместить мои файлы Kotlin в отдельный пакет (тип источника) в Android Studio? Обработчик комментариев Kotlin: он не может заставить его работать Как я могу вводить объект в презентацию в андроид kotlin MVP mosby app с кинжалом Каков идиоматический способ клонирования MutableMap? Нулевые проверки не вставляются для типа reified, если параметр не является нулевым Как я могу приостановить событие, проходящее через наблюдаемое? Как изменяется размер от 6 до 2 в Котлине? Клиент Android и Java-сервер в одном проекте git Как обрабатывать обработку ошибок в одном месте в rxjava с помощью обертки Как изменить карту в Котлине? Инструменты статического анализа для языка программирования Kotlin?

Применение плагина «kotlin-android» в мгновенном приложении приводит к тому, что «null не может быть применено к ненулевому типу com.android.build.gradleBasePlugin»

Я пытался объединить недавно публично выпущенные Android Instant Apps с языком программирования Kotlin. После создания моего проекта, используя следующую (стандартную?) Настройку, я получаю сообщение об ошибке с сообщением «null не может быть применено к ненулевому типу com.android.build.gradle.BasePlugin» при попытке создать приложение. Использование Kotlin отлично работает со стандартными модулями «com.android.application» ; Ошибка вызывается только тогда, когда я пытаюсь использовать ее в модуле Instant App.

Верхний уровень build.gradle :

buildscript { repositories { maven { url 'https://maven.google.com' } jcenter() } dependencies { classpath "com.android.tools.build:gradle:3.0.0-alpha1" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-4" } } // ... 

app module build.gradle , в котором работает Kotlin:

 apply plugin: 'com.android.application' apply plugin: 'kotlin-android' // This will work. android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { // ... } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { implementation project(':feature') implementation project(':base') } 

базовый модуль build.gradle , в котором Kotlin не работает:

 apply plugin: 'com.android.feature' apply plugin: 'kotlin-android' // This won't work. android { compileSdkVersion 25 buildToolsVersion "25.0.2" baseFeature true defaultConfig { // ... } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { feature project(':tracker') compile 'com.android.support:appcompat-v7:25.+' compile 'com.android.support.constraint:constraint-layout:1.0.2' // Kotlin standard library. compile "org.jetbrains.kotlin:kotlin-stdlib:${gradleKotlinVersion}" } 

Модуль instantapp build.gradle :

 apply plugin: 'com.android.instantapp' dependencies { implementation project(':feature') implementation project(':base') } 

функциональный модуль build.gradle :

 apply plugin: 'com.android.feature' android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { // ... } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) implementation project(':base') testCompile 'junit:junit:4.12' } 

Опять же, модуль приложения компилируется без проблем с этой конфигурацией; с другой стороны, Android Studio / Gradle дает мне эту странную ошибку «null не может быть передана в сообщение типа non-null типа com.android.build.gradle.BasePlugin» с предложениями по повторной загрузке зависимостей и синхронизации проекта (сделано ) или перезапустите Android Studio.

Действительно ли приложения Instant Apps совместимы с языком программирования Kotlin? Я с нетерпением жду ваших ответов 🙂

PS: Я использую Android Studio 3.0 Canary 1, с последними обновлениями, установленными из инструментов Canary Channel for Build и т. Д. Мой плагин Kotlin также должен быть обновлен.

Solutions Collecting From Web of "Применение плагина «kotlin-android» в мгновенном приложении приводит к тому, что «null не может быть применено к ненулевому типу com.android.build.gradleBasePlugin»"

Это рассматривается в плагине Kotlin v1.1.2-5 . Обновите свою версию и повторите попытку.

Для справки здесь отслеживается проблема с предыдущими версиями плагина:

38393607 | Создание проблемы Мгновенные приложения с включенным Kotlin

Что касается трекера Google , это исправлено. Тем временем вы можете вручную обновить плагин 1.1.3 kotlin.

Если какая-либо проблема не устранена, сообщите в трекер Google по проблеме, который они повторно откроют для проверки.