Android Studio inline compiler toont rode fouten, maar compilatie met gradle werkt prima

Ik heb mijn project in Android Studio ingesteld om de Square Wire-bibliotheek te gebruiken , volgens deze vraag.

Build-> Compile Projectwerkt prima.

2:03:10 PM Compilation completed successfully in 31 sec

Als ik echter een van mijn gegenereerde Protocol Buffer-bestanden open, wordt het Square-pakket niet herkend.

Android Studio inline compileerfouten

Een ander symptoom is dat methoden die zijn overgenomen van de klasse Square Message, worden weergegeven als compileerfouten “Kan methode niet oplossen” in de editor, ook al bouwen ze goed op en werken ze goed.

Android Studio enkele regel compileerfout

Moet ik meer doen dan alleen de afhankelijkheid in build.gradlevoor mijn module in mijn project toevoegen?


Antwoord 1, autoriteit 100%

De volgende stappen helpen

  1. Sluit je project en verwijder in je projectmap project/.idea
  2. Verwijder de map ~/.gradle.

Open het project opnieuw. Alles moet worden opgelost.


Antwoord 2, autoriteit 84%

Dank aan free3dom om me hier op het juiste spoor te krijgen.

Diagnose

De optie Sync Project with Gradle Filesin Android Studio lijkt de Project Structure-bibliotheken up-to-date te houden.

gradle sync

In mijn geval waren er echter enkele fouten:

fouten gevonden

Het uitvouwen van de (niet erg voor de hand liggende) link liet de details zien. Mijn wire-runtime-bibliotheek werd op een verkeerde locatie weergegeven:

bibliotheken

Dit leek een kater te zijn van mijn oorspronkelijke configuratie waarbij ik de JAR in een libs-map had geïmporteerd.

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

Ik heb het vervolgens gewijzigd om rechtstreeks vanuit Maven Central te worden geïmporteerd (zoals hier), en het lijkt erop dat de oude instelling nooit is overschreven door de nieuwe.

De oplossing

De oplossing is om de bibliotheekafhankelijkheid van het Project Structure-scherm te verwijderen en vervolgens opnieuw Sync Project with Gradle Files.

Meer details

Je kunt ook zien welk pad naar de bron wordt gebruikt door .idea/libraries/wire_runtime_1_2_0.xmlrechtstreeks te openen.

Mijn kapotte 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 />

Na het verwijderen en opnieuw toevoegen van de bibliotheek is de root urlgewijzigd in:

     <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!/" />

Bijwerken

Android Studio v0.4.4 verhelpt blijkbaar andere bugsdie dezelfde symptomen hebben, dus als u een oudere versie hebt die u misschien wilt upgraden.


Antwoord 3, autoriteit 70%

Eenvoudige oplossing

Ga door de link en het werkte voor mij.

  1. Kies de optie Filein het menu links bovenaan in Android Studio.
  2. Selecteer de optie: Invalidate Cache/RestartEr wordt een dialoogvenster geopend.
  3. Klik op de eerste knop met optie: Invalidate and Restart
  4. Het zal Android Studio sluiten en opnieuw opstarten. Het zal ook het project opnieuw indexeren.

Mijn probleem is opgelost

Ga naar Bestand> Cache ongeldig maken/opnieuw opstarten> Ongeldig maken en opnieuw opstarten

Bron hier voor YouTube


Antwoord 4, autoriteit 31%

1) Klik op het gradiëntpictogram (rechterkant van de Android-studio)

voer hier de afbeeldingsbeschrijving in

2) Klik op de refresh-knop en wacht tot het probleem is opgelost 😀

voer hier de afbeeldingsbeschrijving in


Antwoord 5, autoriteit 12%

Ik had nog steeds constant hetzelfde probleem met Android Studio v3.2.1 en loste het probleem op door deze twee submappen van de map .ideate verwijderen (het is niet nodig om de hele .ideamap) terwijl een geleidelijke synchronisatie niet werkte:

  • ./idea/caches
  • ./idea/libraries

Antwoord 6, autoriteit 11%

Voor mij

de map .gradle en .idea verwijderen

van het project is het probleem opgelost.


Antwoord 7, autoriteit 9%

Doe dit gewoon in je Android-studio:

Bestand -> Caches ongeldig maken/Herstarten -> Ongeldig maken en opnieuw opstarten

Dit werkte voor mij. U hoeft de map ./gradle of ./idea niet te wissen


Antwoord 8, autoriteit 8%

Mijn hacky oplossing hiervoor –

  1. Open je build.gradle-bestand
  2. Verwijder alles binnen dependencies{}
  3. Plakken in notitieblok voor superveilige tijdelijke bewaring
  4. Kies ‘Nu synchroniseren’ in het bestand build.gradle
  5. Wacht tot synchronisatie mislukt
  6. Plak je afhankelijkheden er weer in
  7. ‘Nu synchroniseren’ opnieuw

Veel oplossingen geprobeerd en dit was de enige oplossing voor mij.


Antwoord 9, autoriteit 5%

Ik had dit probleem na het upgraden naar Android Studio 3.1.
Ik heb het probleem opgelost door alle componenten die ik gebruik te upgraden.
Dus ik heb de volgende vermeldingen in mijn build.gradle (app) gewijzigd:

  1. Upgrade SDK (van “compileSdkVersion 25” naar “compileSdkVersion 26” of misschien hoger wanneer u deze opmerking leest):

    //compileSdkVersion 25

    compileSdkVersion 26

    Opmerking: door deze wijziging moest het programma tijdens de volgende synchronisatie een nieuwe SDK downloaden/installeren.

  2. Appcompat-v7 upgraden:

    //implementatie ‘com.android.support:appcompat-v7:25.4.0’

    implementatie ‘com.android.support:appcompat-v7:26.1.0’

  3. Firebase upgraden:

    //implementation ‘com.google.firebase:firebase-ads:11.4.2’

    implementatie ‘com.google.firebase:firebase-core:12.0.1’

    implementatie ‘com.google.firebase:firebase-ads:12.0.1’

  4. Upgrade google-services in PROJECT build.gradle:

    //classpath ‘com.google.gms:google-services:3.1.0’

    classpath ‘com.google.gms:google-services:3.2.0’

  5. Upgrade geleidelijk (van 4.4 naar 4.6). Van gradle-wrapper.properties:
    distributionUrl=https://services.gradle.org/distributions/gradle-4.6-all.zip

Na deze wijzigingen, project opschonen, cache ongeldig maken/herstarten, .idea/libraries-inhoud verwijderen en opnieuw synchroniseren (niet zeker over de volgorde, maar AL deze activiteiten hebben het probleem voor mij opgelost).


Antwoord 10, autoriteit 5%

Het verwijderen van de bibliothekenmap in .idea loste het probleem voor mij op. Het bevindt zich in de root/.idea/libraries van project.

Ik gebruik Android Studio 3.1.4


Antwoord 11, autoriteit 5%

if Bestand -> Caches ongeldig maken/Herstarten -> Invalideren en opnieuw opstartenwerkt niet, volg dan enkele stappen.

1.) Sluit uw Android Studio

2.) Verwijder vervolgens de handleiding in de map C:\Users\Balbir\ .AndroidStudio4.0\system\caches.

3.) Android Studio starten

Het is werk voor mij.


Antwoord 12, autoriteit 4%

Ik ben gerepareerd met onderstaande methode

Methode 1

Bestand > Cache ongeldig maken/opnieuw starten > Ongeldig maken en opnieuw opstarten

Methode 2

  • Als u deze fout alleen voor een bepaald project tegenkomt, doe dit dan
  1. Close current project
   2. Go to your project path C://User/Android studio project/your project
   3. Delete two files .gradle and .idea
  • Als je deze fout voor alle projecten tegenkomt, doe dan dit
1. Close Android studio
2. Go to the file C://Users/your username/
3. Delete files .gradle , .cache ,.android, .AndroidStudio3.5

Antwoord 13, autoriteit 3%

Onderstaande stappen wanneer het project succesvol is gecompileerd maar met onopgeloste klassen (alle klassengebruik is in rode kleur in alle bestanden)

Stap 1. Verwijder .gradle-bestand

Stap 2. Verwijder .idea-bestand

Stap 3. Open nieuw Android-studiovenster met een ander Android-projectop uw systeem en sluit uw project met een fout

Stap 3 . Open/importeer het project nu opnieuw vanuit de studiowerkbalk
Android Studio ->Bestand -> Openen

Opmerking:Wanneer u nu het project importeert, worden de nieuwe .gradle- en nieuwe .idea-mappen automatisch gegenereerd met opgeloste afhankelijkheden door de compiler.


Antwoord 14, autoriteit 2%

Ik heb een gemakkelijke manier gevonden

  • Open app-niveau build.gradle
  • Verwijder de afhankelijkheid die een fout vertoont & Synchroniseren.
  • Voeg opnieuw afhankelijkheid toe & Synchroniseren.

Fout verdwenen!

Vóór

Voor

Na

Na


Antwoord 15

Als alle bovenstaande antwoorden niet voor u werken.
Probeer gewoon uw afhankelijkheden bij te werken naar de nieuwste versie.
Het werkte voor mij.


Antwoord 16

In mijn geval was om de een of andere reden de Android Plugin-versieniet ingesteld. Ik heb geprobeerd de cache te wissen en ook .gradle en .idea te verwijderen, maar het lukte niet en na uiteindelijk uren ronddwalen, vond ik dit.

Bestand >Projectstructuur”></a></p>
<hr />
<h2>Antwoord 17</h2>
<p>Ik heb de meeste van de bovenstaande oplossingen geprobeerd en wat echt werkte, was het verwijderen van alle .AndroidStudio-configuratiemappen en het opnieuw opstarten van Android Studio.</p>
<ul>
<li>Locatie: C:\Users\uw.gebruikersnaam</li>
</ul>
<hr />
<h2>Antwoord 18</h2>
<p>Het verwijderen van de <code>.idea/caches</code>en <code>.idea/libraries</code>zou alle fouten moeten oplossen.</p>
<hr />
<h2>Antwoord 19</h2>
<p>Het lijkt erop dat iedereen een andere benadering gebruikt om deze problemen te omzeilen. Ik zal er nog een voorstellen waarvan ik denk dat het een beetje minder invasief is dan de andere. Wanneer ik wijzigingen aanbreng vanuit een aar-bibliotheek die ik opneem, zal ik het bestand “settings.gradle” voor het project openen.</p>
<p>Knip vervolgens de hoofdprojectmodule uit de lijst met projecten:</p>
<p><code>include ':mainproj',</code></p>
<p>en synchroniseer vervolgens uw project. Plak het er dan weer in en synchroniseer je project opnieuw. Ik geloof dat dit hetzelfde is als sommige handmatige verwijderingsstappen, maar hierdoor kun je dit iets sneller en minder pijnlijk vanuit de IDE doen.</p>
<hr />
<h2>Antwoord 20</h2>
<p>Deze oplossingen hebben me niet geholpen met hetzelfde probleem in Android Studio 0.5.8.</p>
<p>Ik heb mijn antwoord op dezelfde vraag beschreven (denk ik): <a href=https://stackoverflow.com/a/23891829/534698
Ik heb zojuist de map ~/.AndroidStudioPreview verwijderd (in Ubuntu). Ik heb al mijn Android Studio-instellingen gemist, maar het werkt.


21

Ik had een soortgelijke kwestie eerder, ongeldigerende cache en opnieuw opstarten was het niet op. Ik heb net een gradle-synchronisatie gedaan en alles werkte prima.


22

Niets van de oplossingen werkte voor mij..Ik nam hun toevlucht tot het verwijderen van Java van mijn computer, waarbij Android-studio wordt uitgevoerd om ervoor te zorgen dat het de verwijderde installatie heeft gedetecteerd en het vervolgens opnieuw installeert.

Als u op deze manier wilt gaan, probeer dan het JDK-pad te veranderen en het nieuwe pad in de projectstructuur in te stellen. Als dat niet werkt, ga je gang en verwijder java .


23

Ik heb alleen een schoon project en opnieuw opbouwen voor het opnieuw opstarten van Android Studio, het lost mijn probleem op. Misschien wordt Android Studio eigenlijk geen verwijzingen in de interface bijgewerkt

Other episodes