2015-04-26 1 views
1

L'erreur dans le titre apparaît dans Android Studio comme une barre d'avertissement avant tout mon code: ErrorLa bibliothèque Kotlin 'rxkotlin-0.21.0.jar' a un format non supporté. S'il vous plaît mettre à jour la bibliothèque ou le plug-in

Android Studio version: 1.1.0
version plug-in Kotlin pour Android Studio: 0.11.91.AndroidStudio.4
build.gradle fichier qui semble utiliser toutes les versions les plus récentes des bibliothèques Kotlin:

apply plugin: 'com.android.application' 
apply plugin: 'kotlin-android' 

android { 
    compileSdkVersion 22 
    buildToolsVersion "22.0.1" 

    defaultConfig { 
     applicationId "ca.amandeep.simpletransit" 
     minSdkVersion 16 
     targetSdkVersion 22 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    sourceSets { 
     main.java.srcDirs += 'src/main/kotlin' 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:22.0.0' 
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" 
    compile 'com.squareup.retrofit:retrofit:1.9.0' 
    compile('com.squareup.retrofit:converter-simplexml:1.9.0') { 
     exclude module: 'stax' 
     exclude module: 'stax-api' 
     exclude module: 'xpp3' 
    } 
    compile 'com.squareup.okhttp:okhttp:2.3.0' 
    compile 'com.squareup.okhttp:okhttp-urlconnection:2.3.0' 
    compile 'com.google.guava:guava:18.0' 
    compile 'com.facebook.stetho:stetho:1.0.1' 
    compile 'com.facebook.stetho:stetho-okhttp:1.0.1' 
    compile 'com.jakewharton.timber:timber:2.7.1' 
    compile 'io.reactivex:rxkotlin:0.21.0' 
    compile 'io.reactivex:rxandroid:0.24.0' 
    compile 'com.github.techfreak:wizardpager:1.0.0' 
} 
buildscript { 
    ext.kotlin_version = '0.11.91.1' 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 
     classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version" 
     classpath 'com.jakewharton.hugo:hugo-plugin:1.2.1' 
    } 
} 
repositories { 
    mavenCentral() 
} 

apply plugin: 'com.jakewharton.hugo' 

Répondre

1

Ce problème a été résolu avec la version de RxKotlin pour Kotlin M12. Et ce n'est plus un problème.

A propos du message d'erreur ...

L'erreur « format non pris en charge » lorsque vient le numéro de version ABI des fichiers de classe créés par Kotlin ne correspond pas à celui attendu utilisé par le compilateur Kotlin. Ce n'est plus un problème avec Kotlin 1.0 Betas puisque le numéro ABI ne changera plus pour 1.0. Mais, il y aura une recompilation forcée à la version 1.0 candidate pour s'assurer que les anciens bogues du compilateur n'affectent pas les bibliothèques ou le code et que tout est reconstruit propre. Ensuite, aucun problème de ce type n'existera. Par conséquent, si une bibliothèque n'est pas à jour avec le même ABI ou atteint cette dernière "recompilation 1.0", vous risquez de rencontrer une erreur similaire. La solution est toujours de trouver la bibliothèque mise à jour.

Plus à ce sujet dans le Kotlin 1.0 Beta 4 announcement « Prochaines étapes » section:

Après la période bêta est terminée, il y aura un RC et 1,0.

Nous voudrions vraiment faire en sorte qu'aucun code compilé avec versions préliminaires de Kotlin sont maintenus autour après 1.0, le compilateur RC forcera recompilation de tous l'ancien code. Nous coordonnerons avec les mainteneurs de bibliothèque en dehors de JetBrains pour nous assurer que toutes les bibliothèques largement utilisées seront recompilées dans le temps.

Nous allons également profiter de l'occasion pour supprimer certains legs à ce stade:

  • supprimer tous les deprecations que nous avons accumulé dans le processus d'évolution de nos bibliothèques,
  • supprimer tous les deprecations de la code généré (vous pourriez ne pas avoir entendu parler de ceux-ci, mais ils existent!),
  • se débarrasser de certaines particularités de bytecode héritage qui ont été trouvés au cours de la bêta,
  • déplacer une partie du code stdlib autour de sorte que les paquets y ont plus de structure.

Après ce moment-là, les seules modifications compatibles à la bibliothèque standard sont Dépréciations et ajouts (cela ne comprend pas API de réflexion). Nous faisons un examen ouvert pour l'API de la bibliothèque à assurez-vous que nous n'avons pas manqué quelque chose d'important.