Android Studio markiert R in rot mit der Fehlermeldung "kann das Symbol R&quot nicht auflösen;, aber die Erstellung ist erfolgreich

In jedem Projekt, das ich versucht habe, in Android Studio zu erstellen, werden alle Verwendungen von R in rot mit der Fehlermeldung "kann Symbol R&quot nicht auflösen; markiert, aber die Kompilierung gelingt und die Anwendung läuft. Das ist wirklich ärgerlich, da es die Autovervollständigung blockiert und riesige rote Wellenlinien in meinem Code anzeigt.

Ich verwende Android Studio 1.7.0 und habe das Projekt mit den Standardeinstellungen erstellt. Ein Bildschirmfoto ist beigefügt:

Dies ist meine build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

So sieht die Projektstruktur aus:

Haben Sie eine Idee, wie man das beheben kann?

Aus einigen Gründen, Android Studio verwenden unterschiedliche Konfigurationen für den Editor und für den Compiler. Wenn es für den Compiler funktioniert, dann ist es gut. Wenn es für den Editor nicht funktioniert. (er sieht nicht aufgelöste Dateien).

Sie müssen einige Verzeichnisse zu den Quellen Ihres Projekts hinzufügen. Zum Beispiel sollten alle Ressourcen als "source" markiert werden.

Datei->Projektstruktur

Wählen Sie "Module", dann Ihr Projekt. Und wählen Sie die Registerkarte "Quellen". Auf der rechten Seite finden Sie Ihr Ressourcenverzeichnis und klicken auf die blaue Schaltfläche "Quelle". Schließen Sie alles und es sollte funktionieren.

Außerdem müssen Sie sicherstellen, dass

build/source/r/debug" auch eine Quelle ist. Ich habe alle meine build/source/*/debug als Quelle markiert.

Hauptmodul .iml

<?xml version="1.0" encoding="UTF-8"?>






































































Projekt iml

<?xml version="1.0" encoding="UTF-8"?>

















Schwarze Magie

Ich bin mir nicht sicher, aber ich habe gehört, dass es funktioniert, und ich bin mir ziemlich sicher, dass es nichts ändern sollte. Versuchen Sie, das Projekt zu kompilieren und zu speichern, nachdem Sie alle Zeilen, die R erfordern, auskommentiert haben. Dann, wenn nicht alles rot ist. Versuchen Sie, sie wieder hinzuzufügen. Das Seltsame daran ist, dass Ihr Build/Source nicht generiert wird.

Auch diese Frage vorschlagen Überprüfung "Compiler verwenden externe Build"

https://stackoverflow.com/questions/16622515/android-studio-dont-generate-r-java-for-my-import-project

Nebenbemerkung

Stellen Sie außerdem sicher, dass in Ihrem Java-Code kein. import android.r; von dem, was Sie gezeigt, scheint alles in Ordnung. Es ist nur seltsam, dass der Build/Source nicht erstellt wird. Zum Beispiel habe ich keine build/apk. Vielleicht sind Sie im Release-Modus und es werden diese Verzeichnisse nicht erstellt.

Kommentare (5)
Lösung

Hier ist meine vorläufige Lösung, bis ich eine bessere finde:

  1. Finden Sie mit Everything heraus, wo R.java erstellt wird. In meinem Fall war es C:\Program Files (x86)\Android\android-studio\system\compiler.cb969c52.generated\aapt.6badd9a4\production\com\`

  2. Klicken Sie in der Projektansicht auf das Modul und drücken Sie F4. Ignorieren Sie die Warnung.

  3. Klicken Sie auf "+ Add Content Root" und wählen Sie den oben erwähnten Ordner. Stellen Sie sicher, dass er blau markiert ist (als Quelle).

Nachdem ich dies getan habe, sind plötzlich alle Warnungen verschwunden. Das Problem bei der Zusammenarbeit mit anderen Personen ist, dass der Ordnername auf jedem Rechner anders lautet. Seien Sie also vorsichtig bei der Synchronisierung.

Kommentare (3)

Ich hatte diesen Fehler vor ein paar Tagen, ich habe versucht, um zu suchen, bis ich beschlossen, Android Studio neu zu installieren. Es funktionierte für mich.

Kommentare (2)