Android Studio inline compiler showing red errors, but compilation with gradle works fine

后端 未结 27 969
[愿得一人]
[愿得一人] 2020-11-29 19:22

I\'ve set up my project in Android Studio to use the Square Wire library, as per this question.

Build -> Compile Project works fine.

<
相关标签:
27条回答
  • 2020-11-29 19:37

    The following steps helps

    1. Close your project, and in your project folder delete project/.idea
    2. Delete ~/.gradle folder.

    Open the project again. Everything should be solved.

    0 讨论(0)
  • 2020-11-29 19:38

    Deleting the .idea/caches and .idea/libraries should sort out all the errors.

    0 讨论(0)
  • 2020-11-29 19:41

    1) Click on the gradle icon (right side on the android studio)

    2) Click on the refresh button and wait for the issue to be resolved :D

    0 讨论(0)
  • 2020-11-29 19:43

    Thanks to free3dom for getting me on the right track here.

    Diagnosis

    The Sync Project with Gradle Files option in Android Studio seems to keep the Project Structure libraries up to date.

    gradle sync

    However, in my case there were some errors:

    errors found

    Expanding the (not very obvious) link showed the detail. My wire-runtime library was showing in an incorrect location:

    libraries

    This seemed to be a hangover from my original configuration where I had imported the JAR into a libs folder.

    dependencies {
        compile fileTree(dir: 'libs', include: '*.jar')
    }
    

    I subsequently changed it to be imported directly from Maven Central (as per here), and it seems that the old setting was never overwritten with the new one.

    The Fix

    The fix is to delete the library dependency from the Project Structure screen and then Sync Project with Gradle Files again.

    More Detail

    You can also see what path is being used to the resource by opening the .idea/libraries/wire_runtime_1_2_0.xml directly.

    My broken one was:

      <component name="libraryTable">
      <library name="wire-runtime-1.2.0">
        <CLASSES>
          <root url="jar://$PROJECT_DIR$/MY_MODULE/libs/wire-runtime-1.2.0.jar!/" />
        </CLASSES>
        <JAVADOC />
        <SOURCES />
    

    After deleting and re-adding the library it changed the root url to:

          <root url="jar://$USER_HOME$/.gradle/caches/artifacts-26/filestore/com.squareup.wire/wire-runtime/1.2.0/jar/44e7acbd5eb6f29698181dc3d67a60acf7efee80/wire-runtime-1.2.0.jar!/" />
    

    Update

    Android Studio v0.4.4 apparently fixes other bugs which have the same symptoms, so if you have an older version you may wish to upgrade.

    0 讨论(0)
  • 2020-11-29 19:44

    I have only make a Clean Project and Rebuild Project before restarting Android Studio, it solves my problem. Maybe Android Studio actually do not update references in the interface

    0 讨论(0)
  • 2020-11-29 19:46

    Simple Solution

    Go through the link and it worked for me.

    1. Choose File option from menu on left top side of android studio.
    2. Select the option: Invalidate Cache/Restart It will open an dialog.
    3. Click on the first button with option: Invalidate and Restart
    4. It will close Android Studio and restart it. Also, it will start re-indexing the project.

    It resolved my problem

    Go to File > Invalidate Cache/Restart > Invalidate and Restart

    Source here for youtube

    0 讨论(0)
提交回复
热议问题