¿Qué versión (s) de Kotlin debería usar para Android Studio 3.0 Canary 1?

Tengo un proyecto de Kotlin de tamaño medio que usa anko y las extensiones de android kotlin, específicamente las properties sintéticas de los ID de resources. Todos han dejado de funcionar con mi actualización a Android Studio 3.0 Canary 1. Aunque parece que también dejaron de funcionar para AS 2.3.2.

Aquí está el script de compilation de nivel superior relevante:

buildscript { ext.kotlin_version = '1.1.2' repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.0.0-alpha1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" ... 

Y en el script de construcción de mi module de aplicación, las partes relevantes son:

 apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' repositories { mavenCentral() jcenter() } android { compileSdkVersion 25 buildToolsVersion '25.0.2' dataBinding { enabled = true } } dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" compile 'org.jetbrains.anko:anko-sdk21:0.9.1' compile 'org.jetbrains.anko:anko-support-v4:0.9.1' compile 'org.jetbrains.anko:anko-appcompat-v7:0.9.1' kapt "com.android.databinding:compiler:2.5.0-alpha-preview-02" } kapt { generateStubs = true } 

Mi compilation de command-line tiene éxito; de hecho, la construcción en el IDE tiene éxito. Pero Kotlin me da identificadores rojos para todos mis usos de properties sintéticas ahora.

Una pista posible es que Kotlin no parece reconocer mi actividad (una actividad de aplicación) como una subclass de context:

 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) MultiDex.install(this) 

¡El "esto" está subrayado por error, diciendo que esperaba un context! y obtuve una actividad principal; mi MainActivity se define como:

 class MainActivity : AppCompatActivity() { 

El complemento IDE de mi Kotlin es 1.1.2-4. No sé cómo revertirlo a una versión anterior.

Traté de volver a instalar Android Studio 2.3.2 pero ninguno de los complementos de Kotlin están trabajando allí tampoco.

Deberá usar al less Kotlin 1.1.2-4 . Por lo tanto, cambie su ext.kotlin_version :

 ext.kotlin_version = '1.1.2-4' 

puede modificar el file build.gradle (Module: app) de

 dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" compile "org.jetbrains.anko:anko-commons:$anko_version" compile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') { transitive = true; } compile "com.squareup.retrofit2:retrofit:$retrofit_version" compile "com.squareup.retrofit2:converter-gson:$retrofit_version" compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support.constraint:constraint-layout:1.0.2' testCompile 'junit:junit:4.12' compile 'com.android.support:design:25.3.1' 

}

A:

 dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" implementation "org.jetbrains.anko:anko-commons:$anko_version" implementation('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') { transitive = true; } implementation "com.squareup.retrofit2:retrofit:$retrofit_version" implementation "com.squareup.retrofit2:converter-gson:$retrofit_version" implementation 'com.android.support:appcompat-v7:25.3.1' implementation 'com.android.support.constraint:constraint-layout:1.0.2' testImplementation 'junit:junit:4.12' implementation 'com.android.support:design:25.3.1' 

}

Entonces los identificadores rojos desaparecerán.

  • Kotlin - Lista dentro de un filter de list
  • Kotlinx inyecta vista desde el layout incorrecto
  • Advertencia obsoleta de Kotlin Runtime (complemento Kotlin 1.1.2-release-Studio2.3-3)
  • El conflicto de las properties sintéticas de Kotlin
  • La anotación de ButterKnife @OnClick no funciona en el fragment de Kotlin
  • ¿Cómo crear un button en Kotlin que abre una nueva actividad (Android Studio)?
  • Extensión sintética Kotlin para ver
  • ¿Por qué la configuration de OnClickListener funciona una vez?
  • Extensiones de Kotlin / properties sintéticas: mismo object en múltiples invocaciones de Fragment.onViewCreated ()
  • Cambiar Observable desde AutoCompleteTextView a EditText
  • Obligatorio <Objeto> y encontrado <Objeto>?