Intereting Posts
Есть ли простой способ увидеть, какие исключения выбрала функция Котлина? Почему не смотрит вперед и не смотрит работу Regex в Котлин? Как создать параметр конструктора типа «Единица» Kotlin с параметром одного типа с kotlinpoet? Kotlin: JsonProperty.Access.READ_ONLY по классу данных Синтаксическая сериализация в Котлине Головная боль наследования котиновских дженериков Я получаю ошибку «Тип несоответствия», когда я использую функцию в качестве параметра в Kotlin? Как объявить несколько свойств на одной строке Не понимаю, как сделать подписку на флюс, работающую в Котлине Как написать Short / Int в 1 байтовый буфер Andoird anko DSL – добавление текстовых просмотров и создание их «новой строки», когда нет больше ширины экрана? Kotlin Android для печати на консоль Как сделать вывод типа Котлин из отражения KClass? Kapt, Kotlin, Dagger2 Ошибка при обработке аннотации Равномерное авторазведение нескольких текстовых элементов

Применение плагина «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 по проблеме, который они повторно откроют для проверки.