Аннотация поддержки не существует после обновления до Android Studio 3.0

После того, как я обновил свой проект до AndroidStudio 3.0-beta1, мои файлы androidTest перестали компилироваться.

Многие пакеты не найдены, некоторые из них:

ошибка: пакет android.support.annotation не существует
ошибка: не удается найти класс символов StringRes
ошибка: не удается получить доступ к файлу класса AppCompatActivity
для android.support.v7.app.AppCompatActivity не найден

я уже добавил

androidTestCompile "com.android.support:support-annotations:25.3.1"

в build.gradle

Но даже при этом у меня ошибок пакета не обнаружено. Я попытался запустить тесты из Android Studio и с терминала с помощью ./gradlew connectedCheck


comment
Помимо явного добавления зависимости для androidTest также необходимо exclude support-annotations для тех зависимостей, которые вводят ее как транзитивную зависимость. Вы можете использовать плагин GradleView, чтобы узнать, какие из ваших зависимостей зависят от support-annotations . В противном случае одна из библиотек может повысить вашу support-annotations версию.   -  person JJD    schedule 04.05.2018
comment
Обновление Butterknife до последней версии решило мою проблему   -  person Nabeel K    schedule 14.02.2019
comment
В моем случае после перехода на androidX я получил эту ошибку.   -  person CodeToLife    schedule 20.06.2019


Ответы (5)


У меня такая же проблема. Проблема не в том, что вы обновили AndroidStudio, а в том, что ваша целевая версия и версия компиляции ниже 26 после обновления инструментов сборки в вашем SDK.

Так меняется

android {
    compileSdkVersion 25

    defaultConfig {
        applicationId "bla.bla"
        minSdkVersion 21
        targetSdkVersion 25
    }
}

to

android {
    compileSdkVersion 26

    defaultConfig {
        applicationId "bla.bla"
        minSdkVersion 21
        targetSdkVersion 26
    }
}

решает проблему.

person luckyhandler    schedule 28.08.2017
comment
и целевая версия, и версия компиляции имеют номер 26, и она все еще не работает. - person Alberto M; 09.12.2017
comment
Речь идет о пакете поддержки аннотаций - person noobEinstien; 04.05.2018
comment
@Годвин, попробуй implementation 'androidx.appcompat:appcompat:1.0.0-alpha3' - person behelit; 22.06.2018
comment
Это не основная причина. - person James Liu; 14.11.2019

Просто добавьте это в свои зависимости

implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
implementation "com.android.support:support-annotations:28.0.0"
annotationProcessor 'com.android.support:support-annotations:28.0.0'

person Napster Scofield    schedule 10.09.2019
comment
Бинго. Отправил хороший подарок, спасибо - person Fattie; 28.03.2021
comment
Спасибо Фатти! я действительно ценю - person Napster Scofield; 29.03.2021

В моем случае это произошло после перехода на androidX. Решение просто было:

перейдите к указанным файлам *.java и прокомментируйте строки с пакетами

 //import android.???

и повторно импортировать файлы androidX.

Снова создайте проект, и все готово.

person CodeToLife    schedule 20.06.2019

Попробуй это:

import androidx.annotation.StringRes
person BusterT    schedule 12.01.2020

У меня были подобные ошибки, и я исправил их, добавив.

LOCAL_STATIC_JAVA_LIBRARIES += android-support-v4
внутри папки Android.mk.

Примечание: это для изменения непосредственно в двоичном файле, где вам нужно запускать файл .mk отдельно. Если вы используете Android Studio, проверьте Writing Android.mk файл в Studio.
Я прочитал предыдущий ответ и хотел предложить другой подход к его исправлению, хотя это сложнее.

person Nappa    schedule 24.04.2019