¿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.

  • Comience un proyecto con la ayuda de Kotlin en Android
  • Android Kotlin Extension super calling
  • Cómo configurarOnNavigationItemListener en BottomNavigationView en Android usando Kotlin?
  • NoSuchMethodError usando @Parcelize Annotation en Kotlin
  • Compara una vista de text con una string en Kotlin
  • Obligatorio <Objeto> y encontrado <Objeto>?
  • Usar las extensiones de resources de Kotlin para Android usando solo Maven
  • Kotlin: ¿Cuál es el uso de la class sin cuerpo?
  • Estudio de Android 3: Tiempo de ejecución de Kotlin desactualizado
  • Extienda la comprobación de Mockito para que Kotlin no funcione (de manera "kotlin")
  • Prueba unitaria de la function de extensión de Kotlin en las classs de Android SDK