嘿,在将 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}"
}