2015-10-26 3 views
13

Недавно я обновил плагин расширения kotlin и kotlin и, строя, я получаю следующую ошибку. Я попытался чистой сборки или синхронизации проекта с Gradle, но ничего не работаетВыполнение не выполнено для задачи ': 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 

build.gradle выглядит следующим образом

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" 
} 

кто-то может указать на то, что проблема с этим?

Благодаря

+0

У меня та же проблема при добавлении Google Play. –

+2

Я решил эту проблему, обновив все мои другие модули в проекте с текущей версией kotlin, а также обновил версию зависимостей до последней версии. – User

ответ

5

Я решил эту проблему путем создания проекта в терминале затем запустить приложение в IntelliJ (или андроид студии).

Gradle чистой сборки -> запустить приложение в язя

+0

После проверки и повторной проверки всего возможного, я сбил с ума, и этот комментарий был правильным ответом. Не знаю, почему, но работал. Благодаря ! – Samuelens

0

Для меня решение было открыть окно консоли Gradle в Android Studio и запустить сборку с StackTrace.

Затем, прочитав это, я понял, что новое из того, что нужно сделать в Котлине, потребовало изменить мой код, но нормальная сборка Gradle не уловила эти проблемы.

Это были вещи, похожие на представления, которые бросают в TextView или как бы там ни было, это уже не имело значения, и его нужно было изменить в формате findVieById. например .:

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

должен быть изменен на

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

Я думаю, что ваша проблема связана с версией buildToolsVersion/appcompat. а не плагин kotlin. потому что 'findViewById ' является частью android O. – crgarridos

+0

@crgarridos, хотя, вероятно, это правда, это помогло мне найти реальные вещи, которые беспокоили сборку Gradle. Я получал то же сообщение, что и вопрос. – marienke

Смежные вопросы