[android] 타사 Gradle 플러그인이 원인 일 수 있습니다.

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를 다시 시작하거나 문제가 다시 발생해야합니다.

당신은 또한 이것을 시도 할 수 있습니다 :

  1. 리포지토리를 다음과 같이 재정렬했습니다.

    mavenCentral()
    maven { url 'https://jitpack.io' }
    google()
    jcenter()
  2. 이 폴더를 지우십시오 : 사용자 ~ / .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
}
  1. gradle 플러그인 버전을 3.1.2로 변경하십시오.
  2. Kotlin 버전을 1.2.30으로 변경
  3. 그런 다음 Android 스튜디오는 gradle 래퍼를 버전 4.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"
  1. 프로젝트 정리

  2. 빌드와 그게 다야!

이 모든 것을 추가하고 프로젝트를 정리하고 빌드하면 끝입니다! 🙂 이것이 작동하는지 알려주세요! (작동하지 않으면 다른 솔루션으로 도와 드리겠습니다)

추가 정보 : 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을 요청합니다.

이슈 트래커 :
https://issuetracker.google.com/issues/110198434