16

嘿,在将 Android Studio 更新到 3.1 Canary 3 后,我刚刚创建了新项目,但由于 gradle 同步失败:

错误:com.android.tools.idea.gradle.project.model.AndroidModuleModel.getMainArtifact()Lcom/android/tools/idea/gradle/project/model/ide/android/IdeAndroidArtifact;com.android.tools.idea.gradle .project.model.AndroidModuleModel.getMainArtifact()Lcom/android/tools/idea/gradle/project/model/ide/android/IdeAndroidArtifact;

我的毕业文件是:

> buildscript {
>     ext.kotlin_version = '1.2.0-rc-39'
>     repositories {
>         google()
>         jcenter()
>         maven { url "https://dl.bintray.com/kotlin/kotlin-dev"}
>     }
>     dependencies {
>         classpath 'com.android.tools.build:gradle:3.1.0-alpha03'
>         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
>         classpath 'com.google.gms:google-services:3.1.0'
>     } }
> 
> allprojects {
>     repositories {
>         google()
>         jcenter()
>         maven { url "https://dl.bintray.com/kotlin/kotlin-dev"}
>     } }
> 
> task clean(type: Delete) {
>     delete rootProject.buildDir }
> 

而第二个 build.gradle

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

android {

    compileSdkVersion 27
    buildToolsVersion '26.0.2'
    defaultConfig {
        applicationId "xxx"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "0.0.1"
        setProperty("archivesBaseName", "xxx v$versionName")
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

        vectorDrawables.useSupportLibrary = true
        multiDexEnabled true

        buildConfigField 'String', 'apiEndpointUrl', '"https://xxx.xxx.xxx"'
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

ext {
    supportLibrary = '26.1.0'
    playServices = '11.2.2'
    androidLifecycle = '1.0.0-alpha9'
    androidLifecycleCompiler = '1.0.0-alpha8'
    jackson = '2.9.0'
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    testImplementation 'junit:junit:4.12'
    androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.1', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

    // RxJava
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
    implementation 'io.reactivex.rxjava2:rxjava:2.1.1'
    implementation 'io.reactivex.rxjava2:rxkotlin:2.1.0'

    // Retrofit
    implementation 'com.squareup.okhttp3:okhttp:3.8.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.6.0'
    implementation 'com.squareup.retrofit2:retrofit:2.3.0'
    implementation 'com.squareup.retrofit2:adapter-rxjava2:2.2.0'

    implementation 'com.squareup.retrofit2:converter-jackson:2.3.0'
    implementation "com.fasterxml.jackson.core:jackson-core:${jackson}"
    implementation "com.fasterxml.jackson.core:jackson-annotations:${jackson}"
    implementation "com.fasterxml.jackson.core:jackson-databind:${jackson}"

    // Google Play / Firebase services
    implementation 'com.google.android.gms:play-services-maps:11.6.0'

    // Widgets / Views
    implementation "com.android.support:appcompat-v7:$supportLibrary"
    implementation "com.android.support:design:${supportLibrary}"
    implementation "com.android.support:support-v4:${supportLibrary}"
    implementation "com.android.support:cardview-v7:${supportLibrary}"
    implementation "com.android.support:recyclerview-v7:${supportLibrary}"
    implementation "com.android.support:support-vector-drawable:${supportLibrary}"
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'

    // EventBus
    implementation 'org.greenrobot:eventbus:3.0.0'

    //    Android Architecture
    implementation "android.arch.lifecycle:runtime:${androidLifecycle}"
    implementation "android.arch.lifecycle:extensions:${androidLifecycle}"
    annotationProcessor "android.arch.lifecycle:compiler:${androidLifecycleCompiler}"
    kapt "android.arch.lifecycle:compiler:${androidLifecycleCompiler}"

    // Room - DB ORM
    implementation "android.arch.persistence.room:runtime:$androidLifecycle"
    implementation "android.arch.persistence.room:rxjava2:${androidLifecycle}"
    annotationProcessor "android.arch.persistence.room:compiler:${androidLifecycleCompiler}"
    kapt "android.arch.persistence.room:compiler:${androidLifecycleCompiler}"
}
4

2 回答 2

38

这里同样的问题。卸载 Kotlin 插件(Preferences > Plugins > Kotlin > Uninstall)并使用 IDE 附带的版本为我解决了这个问题。

于 2017-11-15T09:04:57.103 回答
1

打开设置对话框,然后选择插件并搜索 kotlin 并卸载它,重新启动 Android Studio 并在出现提示时升级 Gradle。

于 2018-04-17T03:06:45.010 回答