it-swarm.com.de

IDE "@ Style/Theme.Appcompat kann nicht aufgelöst werden", wenn das Motiv für die Unterstützung der Version 7 verwendet wird

Dies ist nicht wirklich ein großes Problem, da mein Projekt immer noch korrekt erstellt und ausgeführt wird (unter Verwendung von Gradle), aber ich habe Probleme, dass Android Studio das Anwendungskompatibilitätsthema erkennt, das im API 18 SDK (für Actionbar-Unterstützung für Android 2.1) verfügbar ist und darüber).

Ich habe die Unterstützungsbibliotheken erfolgreich geladen, da für die ActionBar-Klassen in Java-Dateien Code abgeschlossen werden kann. Das Problem ist, dass Android Studio rote Textfehler für Zuweisungen zum Theme.AppCompat.Light in der AndroidManifest.xml zeigt.

Gibt es eine Möglichkeit, die Code-Vervollständigung für im Manifest deklarierte Themenressourcen aus externen Bibliotheken in Android Studio zu aktivieren?

Aktualisiert Hier ist mein <activity>-Block aus meinem AndroidManifest:

<activity
    Android:name="com.example.activities.MainActivity"
    Android:label="@string/app_name"
    Android:screenOrientation="portrait"
    Android:theme="@style/Theme.AppCompat.Light" >

Ich habe auch versucht, das Design im Anwendungsblock festzulegen:

<application
    Android:allowBackup="true"
    Android:icon="@drawable/main_final_ic"
    Android:label="@string/app_name"
    Android:logo="@drawable/main_final_enzo"
    Android:theme="@style/Theme.AppCompat.Light" >

Auch diese funktionieren und kompilieren OK, erscheinen aber als roter Text mit Fehlern in meiner IDE. Ich habe auch gerade bestätigt, dass die gleichen Probleme bei der Ausführung meines Projekts in Eclipse auftreten.

41
John Leehey
4
Yuichi Araki

Ich hatte das gleiche Problem. Klingt, als hätten Sie die V7-JAR-Datei zum Kompilieren, aber Sie fehlen wahrscheinlich die erforderliche XML-Ressource. Hier ist, was ich getan habe, um das Problem zu beheben.

Siehe unter: Bibliotheken mit Ressourcen hinzufügenhttp://developer.Android.com/tools/support-library/setup.html

Die hier angegebenen Anweisungen sind nicht sehr klar, da Sie nicht aufgefordert werden, Ressourcen einzubringen. (Möglicherweise ein Fehler in Android Studio?)

Folgendes habe ich getan:

  1. Aktualisieren Sie Ihr SDK im Manager und stellen Sie sicher, dass "Android Support Repository" in die Extras aufgenommen wird
  2. Gehen Sie zum SDK im Datei-Explorer (Finder auf dem Mac), um den Ordner des Zusatzprogramms aufzuspüren (..\sdk\extras\Android\support\v7\appcompat\res\values unter Windows). Irgendwo gibt es eine "themes.xml" und "themes_base.xml". Kopieren Sie beide Dateien.
  3. Fügen Sie die Dateien in Ihr Projekt in das Werteverzeichnis ein
  4. mache ein umgebautes und das hat den Trick für mich gemacht.
16
kev

Ich habe geändert von:

klassenpfad 'com.Android.tools.build:gradle:+'

zu:

klassenpfad 'com.Android.tools.build:gradle: 2.2.3'

und jetzt funktioniert es!

7
SUXA

Filip Cvejics Antwort ist nützlich. Meine Android Studio-Version ist 1.3.1, hat das gleiche Problem. Es funktioniert nach dem Hinzufügen einer Zeile "comp.Android.support:appcompat-v7:23.0.0" folgendermaßen:

   dependencies {
        compile "com.Android.support:support-v4:23.0.0"
        compile "com.Android.support:support-v13:23.0.0"
        compile "com.Android.support:cardview-v7:23.0.0"
        compile 'com.Android.support:appcompat-v7:23.0.0'
    }
4
XYL

Fügen Sie die Bibliothek nicht dem Java-Erstellungspfad hinzu. Fügen Sie die Bibliothek (als Projekt) unter Einstellungen> Android> Bibliotheken> Bibliothek hinzufügen hinzu.

3
Bram De Backer

Ich weiß, dass ich spät geantwortet habe, aber diese Antwort könnte zukünftigen Besuchern helfen.

  • Ändern Sie von Gradle 0.12.+ zu 0.12.1 und es wird funktionieren.

    classpath 'com.Android.tools.build:gradle:0.12.1'
    
3
Luis Pena

Das Update war für mich auf Android Studio einfach.

Klicken Sie auf Hilfe ---> Nach Updates suchen

Lesen Sie dann tatsächlich, was die Eingabeaufforderung sagt, und entscheiden Sie, ob Sie ein blutendes Edge-Update oder ein stabiles Update wünschen. 

Nach dem Neustart von Android Studio sollte es funktionieren.

Randnotiz: ... Alles war noch rot unterstrichen, bis ich das Projekt neu aufbaute.

3
rocktheartsm4l

Downgrade build:gradle version 2.3.3 auf 2.2.3 arbeitete nach stundenlangem Kampf

classpath 'com.Android.tools.build:gradle:2.2.3'

gradle-wrapper.properties:

distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.Zip
2
AskQ

Das Problem war, dass sich mein appcompat-Bibliotheksprojekt an einem anderen Ort befindet. Beim Import muss ich "Projekt in Arbeitsbereich kopieren" markieren, das ist alles!

2

Das Problem war, dass sich mein appcompact-Bibliotheksprojekt an einem anderen Ort befindet. Beim Import muss ich "Projekt in Arbeitsbereich kopieren" markieren, das ist alles!

JUST gehe zu Dateien, klicke auf Schließen und dann auf bestehendes Projekt und wähle dein Android-Projekt aus .... Theme-Problem wird gelöst.

1
Shahid Ahmad

Das Hinzufügen von compile 'com.Android.support:appcompat-v7:21.0.0' zu Abhängigkeiten in gradle.build (Modul: app) und das erneute Erstellen des Projekts hat das Problem für mich in Android Studio 1.0.2 behoben.

Ich habe auch SDK Manager überprüft und die Support-Bibliotheken heruntergeladen.

1
Filip Cvejic

Ein häufiges Problem. In meinem Fall funktioniert das:

Im Projekt "Android-support-v7-appcompat":

-Delete “Android-support-v7-appcompat” from Package Explorer.
-Import again and check “Copy into workspace”
-In Properties -> Android -> in Project build target, uncheck Android 2.2 and check Android 4.1.2
-In Java build path, uncheck if you have any .jar library, and uncheck the Dependences

Auf der anderen Seite ist das Projekt, das "Android-Support-v7-appcompat" verwendet,

in Propiedades -> Android add the library, but uncheck "IsLibrary”.
-In Android -> Project build tarjet check Android 4.0.
-In "Java Build Path" -> Order and Export -> Unchecked the .jar library
-Finally do a “Project -> Clean” both projects 
1

Mein Fix/Problem war viel einfacher und anders als die meisten Leute hier.

Mein Problem war insofern ähnlich, als ich einen Fehler wie diesen hatte: 

resource style/ThemeOverlay.AppCompat.Dark (...) not found

Das Seltsame war, dass ich im Debug-Modus bauen konnte, aber nicht im Freigabemodus.

Mein Android-Manifest enthielt keine Fehler. Mein Problem war, dass ich zwei style.xml-Dateien in meinem Ressourcenordner hatte. 

Einfache Lösung: Löschen Sie eine der style.xml-Dateien, oder fügen Sie sie zusammen. Ich hatte zwei Stile, die in meinen beiden XML-Dateien fast genau gleich waren. Nach dem Löschen einer dieser Dateien konnte ich sofort im Freigabemodus erstellen.

[%] D - Zeit, die Gläser zu stoßen und Bier zu trinken. : D

0
airvine