examples - Al aplicar el complemento ''kotlin-android'' en una aplicación instantánea, se obtiene como resultado que "null no se puede convertir a tipo no nulo com.android.build.gradleBasePlugin"
android studio descargar (2)
Con referencia al rastreador de problemas de Google , esto ha sido solucionado. Mientras tanto, puedes actualizar manualmente al plugin de 1.1.3 kotlin.
Si algún problema persiste, informe en el rastreador de problemas de Google que volverán a abrir para examinar.
He intentado combinar las nuevas aplicaciones Android lanzadas recientemente con el lenguaje de programación Kotlin. Después de crear mi proyecto utilizando la siguiente configuración (estándar?), Obtengo un error con el mensaje "null no se puede convertir en un tipo no nulo com.android.build.gradle.BasePlugin" cuando intento crear la aplicación. El uso de Kotlin funciona bien con los módulos estándar ''com.android.application'' ; el error se produce solo cuando intento usarlo dentro de un módulo de aplicación instantánea.
Build.gradle de nivel superior :
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"
}
}
// ...
módulo de aplicación build.gradle , en el que Kotlin funciona:
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'')
}
módulo base build.gradle , en el que Kotlin no funciona:
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}"
}
módulo instantapp build.gradle :
apply plugin: ''com.android.instantapp''
dependencies {
implementation project('':feature'')
implementation project('':base'')
}
módulo de función 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''
}
Una vez más, el módulo de la aplicación compila sin problemas con esta configuración; por otro lado, Android Studio / Gradle me ofrece este extraño mensaje de error "null no se puede convertir en un tipo no nulo com.android.build.gradle.BasePlugin" , con las sugerencias para volver a descargar las dependencias y sincronizar el proyecto (hecho ) o reinicia Android Studio.
¿Son las aplicaciones instantáneas realmente compatibles con el lenguaje de programación Kotlin? Estoy esperando tus respuestas :)
PD: uso Android Studio 3.0 Canary 1, con las últimas actualizaciones instaladas desde Canary Channel para herramientas de compilación, etc. Mi complemento de Kotlin también debe estar actualizado.
Esto se trata en el complemento Kotlin v1.1.2-5 . Actualice su versión y vuelva a intentarlo.
Como referencia, el problema con las versiones de plugin previas se rastrea aquí:
38393607 | Edición de problemas Aplicaciones instantáneas con Kotlin habilitado