我刚刚在 Mac 上将 Android Studio 升级到最新的稳定版本(Arctic Fox 2020.3.1),现在我的项目无法构建。我在 IDE 顶部栏中收到“Kotlin 未配置”,在构建输出中我收到此错误:
Could not find org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.5.21.
Required by:
project :app
我尝试将此依赖项添加到应用模块 Gradle 文件中,但错误仍然存在:
implementation "org.jetbrains.kotlin:kotlin-android-extensions-runtime:$kotlin_version"
供您参考,这是我的 Project Gradle 文件:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
kotlin_version = "1.5.21"
version_navigation = "2.3.5"
version_lifecycle_extensions = "2.2.0"
version_lifecycle = "2.3.1"
version_room = "2.4.0-alpha04"
//version_room = "2.2.6"
version_coroutine = "1.5.0"
version_retrofit = "2.9.0"
version_moshi = "1.9.3"
version_retrofit_coroutines_adapter = "0.9.2"
version_glide = "4.12.0"
}
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
classpath 'com.android.support:multidex:1.0.3'
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$version_navigation"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
这是我的模块 Gradle 文件:
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-android-extensions'
id "org.jetbrains.kotlin.kapt"
id 'androidx.navigation.safeargs'
}
android {
compileSdkVersion 30
buildToolsVersion "30.0.3"
defaultConfig {
applicationId "com.virtualsheetmusic.vsheetmusic"
minSdkVersion 21
targetSdkVersion 30
versionCode 20
versionName "2.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures {
//dataBinding includes viewBidning below https://stackoverflow.com/questions/58040778/android-difference-between-databinding-and-viewbinding
dataBinding true
// for view binding only:
// viewBinding true
}
}
dependencies {
//implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
//implementation "org.jetbrains.kotlin:kotlin-android-extensions-runtime:$kotlin_version"
implementation 'androidx.core:core-ktx:1.6.0'
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation "androidx.fragment:fragment-ktx:1.3.6"
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.1'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
implementation 'com.jakewharton.timber:timber:4.7.1'
//Lifecycle and LiveData
implementation "androidx.lifecycle:lifecycle-extensions:$version_lifecycle_extensions"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$version_lifecycle"
//Room
implementation "androidx.room:room-runtime:$version_room"
kapt "androidx.room:room-compiler:$version_room"
// Kotlin Extensions and Coroutines support for Room
implementation "androidx.room:room-ktx:$version_room"
// Coroutines
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$version_coroutine"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$version_coroutine"
// Testing
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
//For Internet connectiona and JSON stuff...
// Moshi
implementation "com.squareup.moshi:moshi:$version_moshi"
implementation "com.squareup.moshi:moshi-kotlin:$version_moshi"
// Retrofit
implementation "com.squareup.retrofit2:retrofit:$version_retrofit"
//implementation "com.squareup.retrofit2:converter-scalars:$version_retrofit"
// Retrofit with Moshi Converter
implementation "com.squareup.retrofit2:converter-moshi:$version_retrofit"
implementation "com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:$version_retrofit_coroutines_adapter"
//Glide
implementation "com.github.bumptech.glide:glide:$version_glide"
annotationProcessor "com.github.bumptech.glide:compiler:$version_glide"
//Recyclerview swipe-refresh...
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
//For PDF and download management from here: https://blog.mindorks.com/how-to-open-a-pdf-file-in-android-programmatically
//https://github.com/barteksc/AndroidPdfViewer
//implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
implementation 'com.github.barteksc:android-pdf-viewer:3.2.0-beta.1'
//implementation 'com.mindorks.android:prdownloader:0.6.0'
//This below to handle double clicks...
//implementation 'com.gitlab.developerdeveloperdeveloper:androidutilslibrary:1.0.0'
}
我已经试过了:
感谢任何帮助,谢谢!
更新:
我通过在 Project Gradle 文件中添加回 jcenter() 存储库解决了这个问题,因为 Android Studio 标记为“已弃用”(禁止)。
现在我遇到了另一个错误,我不知道如何解决它:
Execution failed for task ':app:kaptDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction
> java.lang.reflect.InvocationTargetException (no error message)
有什么想法吗?再次感谢。