Ik heb mijn project in Android Studio ingesteld om de Square Wire-bibliotheek te gebruiken , volgens deze vraag.
Build
-> Compile Project
werkt 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.
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.
Moet ik meer doen dan alleen de afhankelijkheid in build.gradle
voor mijn module in mijn project toevoegen?
Antwoord 1, autoriteit 100%
De volgende stappen helpen
- Sluit je project en verwijder in je projectmap
project/.idea
- 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 Files
in Android Studio lijkt de Project Structure
-bibliotheken up-to-date te houden.
In mijn geval waren er echter enkele fouten:
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:
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.xml
rechtstreeks 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 url
gewijzigd 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.
- Kies de optie
File
in het menu links bovenaan in Android Studio. - Selecteer de optie:
Invalidate Cache/Restart
Er wordt een dialoogvenster geopend. - Klik op de eerste knop met optie:
Invalidate and Restart
- 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
Antwoord 4, autoriteit 31%
1) Klik op het gradiëntpictogram (rechterkant van de Android-studio)
2) Klik op de refresh-knop en wacht tot het probleem is opgelost 😀
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 .idea
te verwijderen (het is niet nodig om de hele .idea
map) 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 –
- Open je
build.gradle
-bestand - Verwijder alles binnen
dependencies{}
- Plakken in notitieblok voor superveilige tijdelijke bewaring
- Kies ‘Nu synchroniseren’ in het bestand
build.gradle
- Wacht tot synchronisatie mislukt
- Plak je afhankelijkheden er weer in
- ‘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:
-
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.
-
Appcompat-v7 upgraden:
//implementatie ‘com.android.support:appcompat-v7:25.4.0’
implementatie ‘com.android.support:appcompat-v7:26.1.0’
-
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’
-
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’
-
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
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.
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