Android Studio 3.1로 업데이트 한 후이 오류 메시지가 나타납니다.
프로젝트가 잘 작동하고 이것은 대부분 경고 일 뿐이므로 내 질문은 경고의 의미는 무엇이며 어떻게 제거 할 수 있습니까?
gradle 파일의 관련 부품 :
이것은 내 프로젝트의 build.gradle
buildscript {
ext {
kotlin_version = '1.2.31'
anko_version = '0.10.4'
room_version = '1.0.0'
support_version = '27.1.0'
firebase_version = '12.0.0'
gms_version = '12.0.0'
}
repositories {
google()
jcenter()
maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
google()
jcenter()
mavenCentral()
maven { url "https://jitpack.io" }
maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
}
}
그리고 이것은 내 앱의 build.gradle
파일입니다.
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion 27
defaultConfig {
minSdkVersion 21
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
답변
이 문제를 해결하려면 “Run Configurations (구성 실행)”에서 제거 Instant App Provision
하고 Gradle-Aware Make
.
Run -> Edit Configurations..
AndroidStudio 3.1
, Gradle Plugin 3.1.0
및 Kotlin 라이브러리 버전이 1.2.30
있습니다.
답변
Android Studio를 다시 시작했는데 문제가 사라졌습니다.
파일-> 캐시 무효화 / 다시 시작을 클릭하십시오.
gradle 파일을 변경할 때마다 Android Studio를 다시 시작하거나 문제가 다시 발생해야합니다.
당신은 또한 이것을 시도 할 수 있습니다 :
-
리포지토리를 다음과 같이 재정렬했습니다.
mavenCentral() maven { url 'https://jitpack.io' } google() jcenter()
-
이 폴더를 지우십시오 : 사용자 ~ / .gradle / caches 및 수동으로 앱 빌드 폴더를 삭제 한 다음 정리하고 다시 빌드하십시오 .
답변
나를 위해 문제를 해결 한 것 :
- gradle 플러그인 버전을로 변경하십시오.
3.1.0
- Kotlin 버전을 다음으로 변경
1.2.30
- 그런 다음 Android 스튜디오는 gradle 래퍼를 버전으로 변경했습니다.
4.4
- 그런 다음 Android 스튜디오는 사용 된 빌드 도구 버전
27.0.3
이며 변경해야27.0.3
하므로 대상 SDK를27
-
나는 이것을 gradle.build에 추가했다.
kapt { generateStubs = true }
나는 그것이 도움이되기를 바랍니다
답변
android studio v3.1.2에서 오류가 발생했습니다.
Folder D:\AndroidProjects\app\build\generated\source\kaptKotlin\debug
Folder D:\AndroidProjects\app\build\generated\source\kaptKotlin\release
3rd-party Gradle plug-ins may be the cause
dataBinding을 사용 apply plugin: 'kotlin-kapt'
하면 추가되므로
kapt {
generateStubs = true
}
- gradle 플러그인 버전을 3.1.2로 변경하십시오.
- Kotlin 버전을 1.2.30으로 변경
- 그런 다음 Android 스튜디오는 gradle 래퍼를 버전 4.4로 변경했습니다.
- 그런 다음 Android 스튜디오는 사용 된 빌드 도구 버전이 27.1.1이며 27.1.1로 변경해야하므로 대상 SDK도 27로 변경했습니다.
답변
다음은 몇 가지 단계입니다. 내 경우에는 문제가 해결되었습니다!
Android를 대상으로하는 플랫폼 모듈
실험적인 멀티 플랫폼 프로젝트 기능의 업데이트는 Android 플랫폼 모듈에 대한 지원을 도입합니다. 이 모듈은 Gradle 빌드 스크립트에서 해당 플러그인을 적용해야하며 공통 모듈의 공유 코드를 사용할 수 있습니다.
apply plugin: 'com.android.application'
apply plugin: 'kotlin-platform-android'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
// ...
// ...
Kapt 진단 위치
현재 Kotlin 주석 처리 도구 인 kapt는 주석 처리 중에 발생한 오류를보고하여 생성 된 Java 스텁이 아닌 원래 Kotlin 코드의 위치에 대한 링크를 제공 할 수 있습니다. 다음 행을 Gradle 빌드 스크립트 (build.gradle)에 추가하여이 기능을 사용할 수 있습니다.
kapt {
mapDiagnosticLocations = true
}
이거 추가 해봐:
allprojects {
repositories {
jcenter()
google()
}
}
다음을 잊지 마십시오 :
// Architecture Component - Room
implementation "android.arch.persistence.room:runtime:1.1.0-beta1"
kapt "android.arch.persistence.room:compiler:1.1.0-beta1"
// Lifecyles, LiveData and ViewModel
kapt 'com.android.databinding:compiler:3.1.0'
// ViewModel and LiveData
implementation "android.arch.lifecycle:extensions:1.1.1"
// alternatively, just ViewModel
implementation "android.arch.lifecycle:viewmodel:1.1.1"
// alternatively, just LiveData
implementation "android.arch.lifecycle:livedata:1.1.1"
kapt "android.arch.lifecycle:compiler:1.1.1"
// Room (use 1.1.0-beta1 for latest beta)
implementation "android.arch.persistence.room:runtime:1.0.0"
kapt "android.arch.persistence.room:compiler:1.0.0"
// Paging
implementation "android.arch.paging:runtime:1.0.0-alpha7"
// Test helpers for LiveData
testImplementation "android.arch.core:core-testing:1.1.1"
// Test helpers for Room
testImplementation "android.arch.persistence.room:testing:1.0.0"
-
프로젝트 정리
-
빌드와 그게 다야!
이 모든 것을 추가하고 프로젝트를 정리하고 빌드하면 끝입니다! 🙂 이것이 작동하는지 알려주세요! (작동하지 않으면 다른 솔루션으로 도와 드리겠습니다)
추가 정보 : Android 사이트
🙂 작동하는지 알려주세요! (작동하지 않으면 더 나은 방법을 찾도록 도와 드리겠습니다)
당신이 downVote를주는 경우 이유를 설명
답변
실제로 나를 위해 도움이 된 것은 이것을 추가하는 것입니다.
kapt {
generateStubs = true
}
build.gradle로
답변
필자의 경우 위의 솔루션 중 어느 것도 내 문제를 해결하지 못했지만 Instant Run에 대한 언급없이 1.2.50 Kotlin 버전을 사용하고 있었고 빌드가 Dagger 클래스를 생성하지 않았으므로 내 문제를 해결 한이 질문을 발견했습니다. 내 상황에서는 새로운 Kotlin 버전과 관련된 문제이므로 1.2.41 버전으로 다운 그레이드하고 정상적으로 작동했습니다. 그건 그렇고, 빌드 화면에서 토글 뷰를 사용했기 때문에 그 시점까지 추적했습니다.
1 : 토글 뷰를 선택하고 프로젝트를 빌드하십시오.
2 : 당신은 정확히 무슨 일이 있었는지 볼 수있을 것입니다
stackoverflow question :
Kotlin 1.2.50에서 baseFeatureInfoDir을 요청합니다.