Подтвердить что ты не робот

Выполнение не выполнено для задачи ': app: compileDebugKotlin'

Недавно я обновил плагин kotlin и kotlin extensions, а при создании я получаю следующую ошибку. Я попытался выполнить проект чистой сборки или синхронизации с помощью gradle, но ничего не работает

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

Конструкция выглядит следующим образом

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

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

Спасибо

4b9b3361

Ответ 1

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

gradle clean build → запустить приложение в ide

Ответ 2

Для меня решение заключалось в том, чтобы открыть окно консоли 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) 

Ответ 3

В случае проекта, над которым я недавно работал, я получал такую же ошибку, которая была вызвана вызовом статического метода, которого больше не было.

MessageService.java

public class MessageService extends FirebaseMessagingService {

    /*
    This method was commented out

    private static String GetReviewTopic(String userId) 
    {
        return "/topics/"+userId+"/review";
    }
    */
}

AppActivity.java

@Override
public void onCreate() {

    ...

    /* 
    No complication error was caused despite the
    method not being defined. 
    */                        
    MessageService.GetReviewTopic(currentUser);

    ...
}

К сожалению, Android Studio не сообщала о "синтаксической ошибке" для отсутствующего статического метода, а также не было каких-либо значительных ошибок усложнения, которые помогли мне отследить проблему.

Надеюсь, что этот ответ поможет кому-то сэкономить несколько часов на устранение неисправностей!