it-swarm.com.de

Fehler beim Abrufen des übergeordneten Elements für Element: Nach dem Upgrade auf AppCompat V23 wurde keine Ressource gefunden, die mit dem angegebenen Namen übereinstimmt

Ich habe Android immer mit Eclipse programmiert und beschlossen, zu Android Studio zu migrieren. Ich entschied mich für das gleiche SDK, das ich bereits für Eclipse hatte, und dann:

  • Ein neues Projekt gestartet
  • Mindest-SDK 4.0 festlegen (API-Ebene 14)
  • Wählen Sie die Option Leere Aktivität
  • Verwendete Standardnamen für Aktivitätsname und Layoutname
  • Klicken Sie auf "Fertig stellen"

Nach wenigen Sekunden beendet Gradle den Build und es werden zwei Fehler mit den folgenden Meldungen in der Datei Teste4\app\build\intermediates/exploded-aar\com.Android.support\appcompat-v7\23.0.0\res\values ​​ausgegeben -v23\values-v23.xml:

Fehler: (2) Fehler beim Abrufen des übergeordneten Elements für Element: Es wurde keine Ressource gefunden, die mit dem angegebenen Namen "Android: TextAppearance.Material.Widget.Button.Inverse" übereinstimmt. 

Fehler: (2) Fehler beim Abrufen des übergeordneten Elements für Element: Es wurde keine Ressource gefunden, die mit dem angegebenen Namen "Android: Widget.Material.Button.Colored" übereinstimmt. 

Unter Datei -> Projektstruktur -> Module: App (linke Spalte) -> Registerkarte Eigenschaften habe ich folgende Versionen eingerichtet:

  • "Kompilierte Sdk-Version": Android 5.1 (API Level 22)
  • "Build-Tools-Version": 23.0.2

Was muss ich tun, um das zu beheben?

Ich habe bereits ausprobiert, was in der Stack Overflow-Frage appcompat-v7: 21.0.0 ') vorgeschlagen wurde. Es wurde keine Ressource gefunden, die mit dem angegebenen Namen übereinstimmt: attr' Android: actionModeShareDrawable ', aber es wurde nicht gefunden Arbeit.

747
Vini.g.fer

Ihre Kompilierungs-SDK-Version muss mit der Hauptversion der Unterstützungsbibliothek übereinstimmen.

Da Sie Version 23 der Support-Bibliothek verwenden, müssen Sie die Version 23 des Android-SDKs verwenden.

Alternativ können Sie auch mit der Version 22 des Android SDK kompilieren, indem Sie zur neuesten Support-Bibliothek v22 wechseln.

1131
Tanis.7x

Dies liegt daran, dass Android Studio nach Updates standardmäßig API-Version 2 verwendet.

Folgendes hat für mich funktioniert:

Drücken Sie Ctrl + Shift + Alt + S um zur Projektstrukturseite zu gelangen. Wechseln Sie zur Registerkarte "Eigenschaften" und ändern Sie 23.0. in 22.0.1 (oder ein Äquivalent zu dem, was Sie zuvor verwendet haben) im Werkzeugbereich "Erstellen" und erstellen Sie Ihr Projekt neu.

Wenn das nicht funktioniert, gehe zu gradle: app und dann

compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:22.2.1'

Bearbeiten Sie v7: 23.0. zu v7: 22.2.1 wie oben gezeigt und synchronisieren Sie gradle. Das wird auf jeden Fall funktionieren.

134
Sourav Nanda

Wenn Sie Ihr Android Studio aktualisieren, wird standardmäßig die API-Version 23 verwendet. Dies ist der Hauptgrund für das Auftreten. Also,

Überprüfen Sie zunächst Ihre AppCompat-Version in build.gradle (Modul: app).

Enter image description here

Wenn nach dem Wechsel auf 23 ein Fehler auftritt, laden Sie ihn einfach herunter

Compile Sdk Version to API 23, and Build Tools Version to 23.0.0

vom SDK Manager. Wenn bereits heruntergeladen, dann:

1. Go to SDK Manager and
2. Under Project Structure, change *Compile SDK Version* to API 23, and *Build Tools Version* to 23.0.0

Klicken Sie auf die Schaltfläche SDK-Manager und öffnen Sie den Dialog.

Enter image description here

Klicken Sie auf SDK Platform und prüfen Sie, ob Android 6.0 heruntergeladen wurde oder nicht.

wenn nicht, dann lade das zuerst herunter. Klicken Sie nach Abschluss des Downloads auf Apply.

Enter image description here

Jetzt müssen Sie die Änderungen von der Einstellung an auf Ihr Projekt anwenden. Dann drücken Sie Ctrl + Alt + Shift + S zum Öffnen der Einstellung

  1. Klicken Sie auf App aus Liste.
  2. Klicken Sie auf Eigenschaften
  3. Ändern Sie Ihre SDK-Version in API 23
  4. Ändern Sie Ihre Build Tools-Version in 23.0.0

Enter image description here

Vergessen Sie nicht, Ihr Projekt neu zu erstellen.

Dann ist Ihr Fehler behoben.

113
Ravikant Paudel

Wenn Sie versucht haben, das Ziel in eine frühere Version von GooglePlayServices oder AppCompatv7 zu ändern, und es nicht funktioniert, überprüfen Sie, ob eine Abhängigkeit von Projektbibliotheken besteht. In diesem Projekt wird die neueste Version dieser Bibliotheken verwendet. Es ist mir mit dem Google Maps Utils Library-Projekt passiert:

ersetzen:

compile 'com.google.Android.gms:play-services:+'

zu

compile 'com.google.Android.gms:play-services:8.3.0'

Dann können Sie die vollständige Targeting-API 22 fortsetzen

Wenn es immer noch nicht kompiliert werden kann, ist es manchmal nützlich, die CompileSdkVersion-API auf 23 und targetSdkVersion auf 22 zu setzen.

70
Pelanes

Ich stimme der vorherigen Antwort zu. Ihre Kompilierungs-SDK-Version muss mit der Unterstützungsbibliothek übereinstimmen. Hier ist was ich getan habe.

  1. Sie können zum SDK-Manager wechseln und unter SDK-Plattform Android 5.X mit API-Level 23 installieren.
  2. Ändern Sie unter Projektstruktur die SDK-Version in API 23 und die Build-Tools-Version in 23.0.0

Dann sollte es ohne Probleme bauen.

35
Stucky

Sie müssen compileSdkVersion auf 23 setzen.

Da API 23 Android die veralteten Apache Http-Pakete entfernt hat. Wenn Sie sie für Serveranforderungen verwenden, müssen Sie useLibrary 'org.Apache.http.legacy' zu build.gradle hinzufügen.

Android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"
    ...

    //only if you use Apache packages
    useLibrary 'org.Apache.http.legacy'
}
22

Dieses Problem tritt auf, weil die Kompilierungs-SDK-Version jetzt mit der Hauptversion der Android Support-Bibliothek übereinstimmen muss.

In meinem Fall habe ich die Android Support Library-Version 23, also musste ich gegen den Android SDK version 23 kompilieren, und ich musste dies in meiner build.gradle-Datei ändern:

 enter image description here

Einige von Ihnen müssen das SDK installieren, Android 6.0 (API 23)

 enter image description here

und vergessen Sie nicht, Sync-Projekt mit Gradle-Dateien

15
Elenasys
Android {
    compileSdkVersion 23
    buildToolsVersion '23.0.1'

defaultConfig {
    applicationId ""
    minSdkVersion 14
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
    }
  }
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.code.gson:gson:2.3.1'
compile 'com.Android.support:recyclerview-v7:23.0.0'
compile 'com.Android.support:appcompat-v7:23.0.1'
}
12
dhiku

Sie sollten Ihr Projekt mit der neuesten Version kompilieren, also aktualisieren und von Ihrem SDK installieren. Synchronisieren Sie Ihr Projekt mit dem sync project with Gradle file Button.
Sie können auch mit der vorhandenen Version fortfahren. Überprüfen Sie jedoch, ob die unter dem Image ordnungsgemäß installierte Version der API 22 korrekt ist.  enter image description here

Und synchronisieren Sie Ihr Projekt bei Bedarf. 

 enter image description here

es kann helfen.

9

Ich habe die Lösung gefunden. Das Problem wurde bei der Aktualisierung von sdk gestartet. Danach habe ich verschiedene buildToolsVersion ('22 .0.1 ') verwendet und verschiedene support -Bibliotheken wie compile' com.Android.support verwendet : appcompat-v7: 23.0.0 ', die Sie in der Abbildung unten zeigt

 enter image description here

Dies führte zu einem Problem von "Android.widget.Material ..." Dann verwendete ich dieselbe Version für die Support-Bibliothek wie compile 'com.Android.support:appcompat-v7:22.0.1' und sein Fertig. (Zeigt euch in der Abbildung unten) 

 enter image description here

9
Naveed Ahmad

Wie von Tanis.7x hervorgehoben, stimmt die Version der Support Library (23) nicht mit der targetSdkVersion (22) überein.

Sie können dies beheben, indem Sie Folgendes tun: 

Ändern Sie in der build.grade-Datei Ihres App-Moduls die folgende Codezeile

compile 'com.Android.support:appcompat-v7:23.0.0'

Zu 

compile 'com.Android.support:appcompat-v7:22.+'

Hierbei wird die neueste Version der appcompat-Version verwendet, die mit SdkVersion 22 kompatibel ist.

8
RWIL

Ihre Kompilierungs-SDK-Version muss mit der Hauptversion der Unterstützungsbibliothek übereinstimmen. Dies ist die Lösung für Ihr Problem. Sie können dies leicht in Ihren Gradle-Skripts in der build.gradle-Datei überprüfen Fx: Wenn Ihre compileSdkVersion 23 ist, muss Ihre Kompilierungsbibliothek bei 23 beginnen.

  compileSdkVersion 23
    buildToolsVersion "23.0.0"
    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 340
        versionName "3.4.0"
    }
dependencies {
    compile 'com.Android.support:appcompat-v7:23.1.0'
    compile 'com.Android.support:recyclerview-v7:23.0.1'
}

Vergewissern Sie sich immer, dass Ihr Android-Studoi über die unterstützte API-Stufe verfügt. Sie können es in Ihrem Android-SDK wie folgt überprüfen:  enter image description here

7
Oskar

In meinem Fall war es eine höhere Version von Google-Play-Diensten. Ich stellte sie auf 7.0.0 (nicht 8.x) und alles war in Ordnung.

6
Alecs

Ich wollte von API 23 auf 22 herabstufen und erhielt diesen Fehler. Ich musste alle build.gradle-Dateien in einem Projekt ändern, um kompilieren zu können.

Android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.yourapp.app"
        minSdkVersion 14
        targetSdkVersion 22
    }
...
dependencies {
    compile 'com.Android.support:appcompat-v7:22.2.1'
    compile 'com.Android.support:support-v4:22.2.1'
    compile 'com.Android.support:design:22.2.1'
    compile 'com.google.Android.gms:play-services-gcm:10.0.1'
}
5
CoolMind

Das hat mir geholfen: Hinzufügen einer spezifischen Android-Plattform

Was zu tun ist, ist folgendes ... In meinem Fall war es cordova, aber das gleiche ist für ionic, phonegap und andere Frameworks wie diese relevant:

  1. listen Sie alle für Ihr Projekt installierten Plattformen auf: cordova platform list. Sie werden so etwas sehen:

 enter image description here

  1. entfernen Sie die Android-Plattform: cordova platform remove Android.

  2. fügen Sie dann die spezifische Android-Plattform hinzu: cordova platform add [email protected].

Viel Glück! :)

4
Lentyai

Ich habe die gleichen Probleme. Ich habe mein Problem gelöst, indem ich gradle.build für jedes Submodul auf die neueste Compiler-Version aktualisiert habe.

3
sonida

Alles ist großartig, aber keiner von Ihnen hat erklärt, wo Sie die SDK-Build-Tools herunterladen müssen 

 Everything is greate but none of you explained where to download the SDK build tools

2
Stav Bodik

 SDK Manager

Stellen Sie sicher, dass alle diese auf dem neuesten Stand sind.

1
Ganesh Kanna

am Modul: App (Gradle)

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.namepack.nameappxxxxx"
        minSdkVersion 16
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.Android.support:appcompat-v7:21.0.3'
}

projekt: NameAppXXXX (Gradle)

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:1.2.3'

    }
}

allprojects {
    repositories {
        jcenter()
    }
}

und bearbeiten Sie Ihre Aktivität von AppCompatActivity beispielsweise in Activity:

package com.namepack.nameappxxxxx;


import Android.os.Bundle;
import Android.support.v7.app.ActionBarActivity;
import Android.view.Menu;
import Android.view.MenuItem;

public class NameClass extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);
    }


}
1
Alex Zaraos

Eine andere Lösung: Navigieren zu

\sdk\extras\Android\m2repository\com\Android\support\appcompat-v7\23.x.x

.aar-Datei mit 7-Zip oder winrar öffnen, im res-Ordner values-23-Ordner entfernen und Änderungen speichern.

1
Ali Zarei

Aktualisieren Sie Android Studio.

Ich hatte dieses Problem mit Android Studio 1.3.1 und keine der anderen Antworten funktionierte für mich, aber nach dem Update auf 1.5.1 gab es keine Probleme.

1
Matthew Read

Wenn Sie phonegap (plattformübergreifend) verwenden und dasselbe Problem wie oben beschrieben erhalten haben, entfernen Sie einfach die Android-Plattform mit dem folgenden Befehl.

Phonegap-Plattform entfernen Android

Und füge es noch einmal hinzu.

phonegap platform add Android

Dann Problem gelöst für mich.

1

Wie bereits erwähnt, muss Ihr compile sdk version mit Ihrer support library's-Hauptversion übereinstimmen. Dies ist jedoch auch für subprojects relevant, falls Sie welche haben.

In diesem Fall können Sie Ihre subprojects-Version von sdk-Versionen mit dem folgenden Skript festlegen:

subprojects { subproject ->
afterEvaluate{
    if((subproject.plugins.hasPlugin('Android') || subproject.plugins.hasPlugin('Android-library'))) {
        Android {
            compileSdkVersion rootProject.ext.compileSdkVersion
            buildToolsVersion rootProject.ext.buildToolsVersion
        }
      }
   }
}

Fügen Sie dieses Skript Ihrer build.gradle-Stammdatei hinzu.

0
TheBaj