2015-10-26 22 views
13

Ho aggiornato di recente il mio plugin per le estensioni kotlin e kotlin e mentre sto sviluppando sto riscontrando il seguente errore. Ho provato generazione pulita o progetto sincronia con Gradle ma niente funzionaEsecuzione non riuscita per l'attività ': app: compileDebugKotlin'

e: Supertypes of the following classes cannot be resolved. Please make sure you have the required dependencies in the classpath: 
Error:Execution failed for task ':app:compileDebugKotlin'. 
> Compilation error. See log for more details 

Il build.gradle è la seguente

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

buildscript { 
    ext.kotlin_version = '1.0.0-beta-1038' 
    ext.anko_version = '0.7.2' 
    ext.android_support_version = '23.0.1' 
    ext.android_extensions_version = '1.0.0-beta-1038' 

    repositories { 
     jcenter() 
     mavenCentral() 
    } 
    dependencies { 
     classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 
     classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version" 
    } 
} 


android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.1" 

    defaultConfig { 
     applicationId "com.xxxxxxxxxx.app" 
     minSdkVersion 18 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    compileOptions { 
     sourceCompatibility JavaVersion.VERSION_1_7 
     targetCompatibility JavaVersion.VERSION_1_7 
    } 
    sourceSets { 
     main.java.srcDirs += 'src/main/kotlin' 
     debug.java.srcDirs += 'build/generated/src/main/debug' 
     release.java.srcDirs += 'build/generated/src/main/release' 
    } 
    dexOptions { 
     preDexLibraries = false 
     javaMaxHeapSize "4g" 
    } 
    packagingOptions { 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/NOTICE' 
     exclude 'META-INF/LICENSE.txt' 
     exclude 'META-INF/NOTICE.txt' 
    } 
} 

repositories { 
    jcenter() 
    mavenCentral() 
    jcenter { url "https://jitpack.io" } 
} 

dependencies { 
    provided fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'io.realm:realm-android:0.83.0' 
    compile 'com.github.PhilJay:MPAndroidChart:v2.1.3' 
    compile 'com.braintreepayments.api:braintree:1.+' 
    compile('com.mikepenz:materialdrawer:[email protected]') { 
     transitive = true 
    } 
    compile 'com.mikepenz:google-material-typeface:[email protected]' 
    compile project(':temperature') 
    compile project(':heart') 
    compile project(':lungs') 
    compile "com.android.support:cardview-v7:$android_support_version" 
    compile 'com.github.wendykierp:JTransforms:3.1' 
    compile 'fuel:fuel:0.57' 
    compile "org.jetbrains.anko:anko-sdk15:$anko_version" 
    compile "org.jetbrains.anko:anko-support-v4:$anko_version" 
    compile 'org.apache.directory.studio:org.apache.commons.io:2.4' 
    compile 'com.google.android.gms:play-services:8.1.0' 
    compile "com.android.support:recyclerview-v7:$android_support_version" 
    compile "com.android.support:appcompat-v7:$android_support_version" 
    compile "com.android.support:support-v4:$android_support_version" 
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" 
} 

qualcuno può sottolineano qual è il problema con questo?

Grazie

+0

Sto avendo lo stesso problema quando si aggiunge Google Play Services. –

+2

Ho risolto questo problema aggiornando tutti i miei altri moduli nel progetto con la versione corrente di Kotlin e anche aggiornato la mia versione delle dipendenze all'ultima disponibile. – User

risposta

5

Ho risolto questo problema con la costruzione del progetto nel terminale quindi eseguire app in intellij (o Android Studio).

Gradle generazione pulita -> App eseguito in ide

+0

Dopo aver controllato e ricontrollato tutto il possibile, ho guidato pazzo e questo commento è stata la risposta corretta. Non ho idea del perché, ma ha funzionato. Grazie ! – Samuelens

0

Per me, la soluzione era quella di aprire la finestra Gradle console in Android Studio ed eseguire la compilazione con uno StackTrace.

Poi, leggendo ciò, mi sono reso conto che il nuovo di fare alcune cose in Kotlin richiedeva che il mio codice cambiasse, ma una normale build di Gradle non ha riscontrato questi problemi.

Era come le visualizzazioni che vengono trasmesse a TextView o qualunque sia il caso, che non era più rilevante, e dovevano essere cambiate nel formato findVieById. es .:

val textView = snackbarView.findViewById(R.id.snackbar_text) as TextView 

doveva essere cambiato a

val textView = snackbarView.findViewById<TextView>(R.id.snackbar_text) 
+0

Penso che il tuo problema fosse con la versione buildToolsVersion/appcompat. non il plugin kotlin. perché 'findViewById ' fa parte di Android O. – crgarridos

+0

@crgarridos, anche se questo è probabilmente vero, mi ha aiutato a trovare le cose reali che hanno infastidito la build di Gradle. Stavo ricevendo esattamente gli stessi messaggi della domanda pubblicata. – marienke

Problemi correlati