21

After I upgrade my project to AndroidStudio 3.0-beta1, my androidTest files stopped compiling.

A lot of packages are not found, some of them are:

error: package android.support.annotation does not exist
error: cannot find symbol class StringRes
error: cannot access AppCompatActivity
class file for android.support.v7.app.AppCompatActivity not found

I already added

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

into build.gradle

But even with this, I have the errors of package not found. I tried running the tests from inside Android Studio and from terminal with ./gradlew connectedCheck

JJD
  • 50,076
  • 60
  • 203
  • 339
jonathanrz
  • 4,206
  • 6
  • 35
  • 58
  • Besides adding the dependency explicitely for `androidTest` also need to `exclude` the `support-annotations` for those dependencies which introduce it as a transitive dependency. You can use the [GradleView plugin](https://plugins.jetbrains.com/plugin/7150-gradle-view) to find out which of your dependencies depends on `support-annotations`. Otherwise one of the libraries might raise your `support-annotations` version. – JJD May 04 '18 at 16:19
  • Updating butterknife to latest version solved my problem – Nabeel K Feb 14 '19 at 06:37
  • 1
    In my case after I migrated to androidX I got this error. – CodeToLife Jun 20 '19 at 05:10

5 Answers5

10

Just add this to your dependencies

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'
Napster Scofield
  • 1,271
  • 14
  • 13
4

I had the same problem. The issue is not that you upgraded AndroidStudio but that your target version and compile version are below 26 after updating the build tools in your SDK.

So changing

android {
    compileSdkVersion 25

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

to

android {
    compileSdkVersion 26

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

solves the issue.

luckyhandler
  • 10,651
  • 3
  • 47
  • 64
2

In my case it happened after migrating to androidX . The decision merely was :

go to the *.java file(s) pointed and comment strings with packages

 //import android.???

and re-import androidX-ed ones.

Build the project again and you are done.

CodeToLife
  • 3,672
  • 2
  • 41
  • 29
2

Try this:

import androidx.annotation.StringRes
BusterT
  • 81
  • 1
0

I had got similar errors and corrected it by adding.

LOCAL_STATIC_JAVA_LIBRARIES += android-support-v4
inside your Android.mk folder.

Note: This is for change in binary directly where you have to run .mk file separately. If using Android Studio, check Writing Android.mk file in Studio.
I read the previous answer and wanted to provide a different approach to correct it although its harder this way.

Nappa
  • 131
  • 1
  • 9