Android Studio 2.3으로 업그레이드 한 후 android-apt 용 호환되지 않는 플러그인


101

2.2에서 2.3으로 업그레이드 한 후이 경고가 표시됩니다.

여기에 이미지 설명 입력

프로젝트를 컴파일하려고하면이 컴파일 오류가 표시됩니다.

여기에 이미지 설명 입력

이전 Gradle 버전으로 다운 그레이드하지 않고이 문제를 어떻게 해결할 수 있습니까? 이 문제를 해결할 수있는 android-apt 업데이트가 있습니까?

답변:


179

android-apt플러그인은 사용되지 않습니다 . 마이그레이션 가이드
는 여기에서 확인하십시오 .

Android Gradle 플러그인 버전 2.2부터 이전에 android-apt에서 제공했던 모든 기능을 이제 Android 플러그인에서 사용할 수 있습니다.

android-apt마이그레이션 가이드에 따라 제거 하여 동등한 기능을 얻을 수 있습니다.

마이그레이션 가이드 의 중요한 부분 :

  • Android Gradle 2.2 플러그인 이상을 사용하고 있는지 확인하세요.
  • android-apt빌드 스크립트에서 플러그인 제거
  • 모든 변경 apt, androidTestApt그리고 testApt새로운 형식으로 종속성을 :
dependencies {
   compile 'com.google.dagger:dagger:2.0'
   annotationProcessor 'com.google.dagger:dagger-compiler:2.0'
}

또한 Android Gradle 플러그인에는 이에 대한 명시적인 검사가 있습니다.

android-apt 주석 처리에 호환되지 않는 플러그인 사용

향후 Android Gradle 플러그인 버전은android-apt 작동 방식과 호환되지 않을 것이며 , 이것이 그 이유입니다.


감사! apt가 더 이상 사용되지 않는지 몰랐습니다.
Bronx

1
그리고 Android Gradle 플러그인에서 Google은 명시 적으로 확인하고 있습니다. 향후 Android Gradle 버전은 android-apt작동 방식과 호환되지 않을 것이며 , 이것이 그 이유입니다.
botteaap

수표는 어디에 있습니까?
ericn

나는 아파트가 없지만 여전히이 경고를받습니다. 편집 : 그것이 영역 이었다는 것이
밝혀졌습니다

어디서나 내 코드에서 NDROID-pt를 보지 못했지만 오류가 발생했습니다. 무엇이 문제일까요?
Mubashar

47

저에게는 Vault다음을 포함하도록 지정하는 Contentful의 라이브러리를 사용하는 동안이 오류가 발생했습니다 .

apply plugin: 'com.neenbedankt.android-apt'

compile 'com.contentful.vault:core:2.1.0'
apt 'com.contentful.vault:compiler:2.1.0'

당신이해야 할 일은 삭제입니다. apply plugin: 'com.neenbedankt.android-apt'

다음 변경 :

compile 'com.contentful.vault:core:2.1.0'
apt 'com.contentful.vault:compiler:2.1.0'

annotationProcessor 'com.contentful.vault:compiler:2.1.0'
annotationProcessor 'com.contentful.vault:core:3.0.1'

https://github.com/contentful/vault 에서 항상 최신 버전을 확인할 수 있습니다.


15
  1. apt 플러그인 제거

  2. 변화:

    apt-> 컴파일

    testApt-> testAnnotationProcessor

    androidTestApt-> androidTestAnnotationProcessor

  3. build.gradle (앱)에서 defaultConfig에 추가합니다.

vectorDrawables.useSupportLibrary = true


6

@Gabriele Mariotti에 대한 그의 대답은 꽤 자리를 잡고 이것을 암시하지만 그것을 명시하지 않기 때문에 여기에서 편승합니다. Gradle은 또한 이것을 유효한 옵션으로 제안하지 않습니다. androidTestApt및에 해당하는 테스트 testAptandroidTestAnnotationProcessortestAnnotationProcessor입니다.

예:

testApt "com.google.dagger:dagger-compiler:$daggerVersion"
androidTestApt "com.google.dagger:dagger-compiler:$daggerVersion"

다음으로 변경해야합니다.

testAnnotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"
androidTestAnnotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"

1

주석 프로세서에 인수가있는 경우 다음을 변경해야 할 수도 있습니다.

apt {
    arguments {
        KEY "VALUE"
    }
}

이에:

android {
    ...
    defaultConfig {
        ...
        javaCompileOptions {
            annotationProcessorOptions {
                arguments = ['KEY': 'VALUE']
            }
        }
    }
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.