Fehler beim Laden der AppCompat ActionBar mit unbekanntem Fehler in Android Studio

153

Unten ist meine XML-Datei. In der Vorschau gibt es zwei Fehler: "AppCompat ActionBar konnte nicht mit unbekanntem Fehler geladen werden" und "Mehr als eine Klasse konnte nicht instanziiert werden". Wie auch immer, ich kann die App ausführen. Die App stürzt jedoch ab und in Logcat werden keine Fehler angezeigt.

Dies ist mein Vorschau-ScreenshotGeben Sie hier die Bildbeschreibung ein

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:openDrawer="start">


    <include
        layout="@layout/app_bar_main"
        android:layout_width="match_parent"
        android:layout_height="506dp" />

    <LinearLayout
        android:id="@+id/layout_main"
        android:orientation="vertical"
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:weightSum="1"
        tools:context=".Activity.MainActivity">


    <LinearLayout
        android:id="@+id/main_layout"
        android:orientation="vertical"
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="0.7"
        tools:context=".Activity.MainActivity">

        <!-- our tablayout to display tabs  -->
        <android.support.design.widget.TabLayout
            android:id="@+id/tabLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="50dp"
            app:tabMode="scrollable"
            app:tabSelectedTextColor="@color/colorBlack"
            app:tabTextColor="@color/colorWhite"
            android:background="@color/colorOran"
            android:minHeight="?attr/actionBarSize"
            />

        <!-- View pager to swipe views -->
        <android.support.v4.view.ViewPager
            android:id="@+id/pager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

    </LinearLayout>

        <LinearLayout
            android:id="@+id/ll"
            android:layout_width="match_parent"
            android:layout_height="64dp"
            android:layout_alignParentBottom="true"
            android:background="#ffffff"
            android:orientation="horizontal"
            android:layout_weight="0.3"
            android:weightSum="4"
            tools:layout_editor_absoluteX="8dp"
            android:layout_marginBottom="8dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true">

            <ImageView
                android:id="@+id/btn_home"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:src="@drawable/ta_home_icon"
                android:background="@color/colorOran"
                android:layout_marginRight="1dp"
                android:scaleType="fitCenter"/>

            <ImageView
                android:id="@+id/btn_new"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:src="@drawable/ta_todaydeals_icon"
                android:background="@color/colorOran"
                android:layout_marginRight="1dp"
                android:scaleType="fitCenter"/>

            <ImageView
                android:id="@+id/btn_fav"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:src="@drawable/ta_fav_icon"
                android:background="@color/colorOran"
                android:layout_marginRight="1dp"
                android:scaleType="fitCenter"/>

            <ImageView
                android:id="@+id/btn_auth"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:src="@drawable/ta_franchie_icon"
                android:background="@color/colorOran"
                android:scaleType="fitCenter"
                android:layout_marginRight="1dp"
                />

        </LinearLayout>

    </LinearLayout>


    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header_main"
        app:menu="@menu/activity_main_drawer" />


</android.support.v4.widget.DrawerLayout>

Unten ist appbar_main

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.jeyashri.kitchen.jeyashriskitchen.Activity.MainActivity">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">


        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@color/colorOran"
            app:popupTheme="@style/AppTheme.PopupOverlay">

            <ImageView
                android:id="@+id/app_logo"
                android:layout_width="80dp"
                android:layout_height="match_parent"
                android:src="@drawable/img"/>

            <ImageView
                android:id="@+id/btn_social"
                android:layout_width="75dp"
                android:layout_height="35dp"
                android:layout_marginRight="1dp"
                android:src="@drawable/share_icon" />

    </android.support.v7.widget.Toolbar>

    </android.support.design.widget.AppBarLayout>

    <include layout="@layout/content_main" />


</android.support.design.widget.CoordinatorLayout>
Siva
quelle
Versuchen Sie es mit einer Änderung der Android-Version.
Chetan Mekha
versuchte die Version zu ändern .. Nicht hilfreich
Siva
Eine Lösung ohne Änderung der Appcompat-Bibliothek finden Sie unter: stackoverflow.com/questions/44223687#45002903
Mr-IDE
Mögliches Duplikat von Android Studio Rendering-Problemen
Shayan
Stellen Sie sicher, dass Ihre Gradle-Version auf dem neuesten Stand ist.
Ramiz Ansari

Antworten:

323

Die Lösung für dieses Problem hängt von der Version der von Ihnen verwendeten Android-Supportbibliothek ab:

Unterstützungsbibliothek 26.0.0-beta2

Diese Version der Android Support Library hat einen Fehler, der das erwähnte Problem verursacht

Verwenden Sie in Ihrer Gradle-Builddatei Folgendes:

compile 'com.android.support:appcompat-v7:26.0.0'

mit:

buildToolsVersion '26.0.0' 

und

classpath 'com.android.tools.build:gradle:3.0.0-alpha8'

jetzt sollte alles gut funktionieren.


Bibliotheksversion 28 (Beta)

Diese neuen Versionen scheinen wieder unter ähnlichen Schwierigkeiten zu leiden.

In Ihrem res/values/styles.xmländern Sie den AppThemeStil von

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

zu

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">

(Beachten Sie die hinzugefügten Base. )

Alternativ können Sie die Bibliothek herunterstufen, bis das Problem behoben ist:

implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
Debashis Choudhury
quelle
23
Danke dir! das hat es geschafft. Übrigens für uns Android-Entwickler newbiew sagt, dass Änderungen an der Datei build.gradle (Modul: App) vorgenommen werden sollten
Julian Borrero
2
Ich habe heute gerade angefangen. Ich bin auf dieses Problem gestoßen. Diese Antwort fordert dazu auf, etwas zu kompilieren, von dem ich keine Ahnung habe, da es nicht erklärt, wie es geht. Aber die Antwort von tanchap löst das Problem. Er / Sie erklärte klar, was zu tun ist. Es war eine einfache Aufgabe für einen frischeren wie mich. Ich denke, das sollte die Antwort sein.
Buddhika Ariyaratne
1
Neuer Fehler für mich! Beim Einrichten meines neuen Projekts habe ich vergessen, die Option "Abwärtskompatibilität" zu deaktivieren (ich benötige keine Abwärtskompatibilität). Ich habe das Projekt mit diesem Kontrollkästchen neu erstellt und alles ist gut!
Doug J. Huras
7
Nur neugierig: Wie geht man vor, um so etwas herauszufinden? Ich hätte nie
gedacht
3
Danke, aber warum gibt es diesen Fehler auch 2018 noch? Für einen Android-Neuling kann ich aufgrund dieses Fehlers kein "Hello World" -Projekt erstellen.
Searene
276

habe es auf dieser Seite gefunden, es funktioniert bei mir. Ändern Sie /res/values/styles.xml von:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
</style>

zu:

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
</style>
tanchap
quelle
21
Können Sie eine Erklärung hinzufügen, warum dies funktioniert? Es wird Menschen helfen, die dies in Zukunft noch einmal überdenken.
Thomas Smyth
13
Der 1. März 2018 bestätigte, dass dies mein Problem behoben hat.
John Riselvato
Beachten Sie, dass, wenn es nach dem Hinzufügen von "Base" in Ihrem AppTheme nicht funktioniert, Sie einfach oben in Ihrer Layoutvorschau zur Themenoption gehen, auf Optionen für Menifest-Themen auf der linken Seite klicken und dann Ihr AppTheme auswählen. Das Layout wird automatisch aktualisiert.
Khaled Saif
4
Das hat auch bei mir funktioniert. Weiß jemand, warum dies notwendig ist? Ich bin seit ein paar Jahren nicht mehr bei Android und kann nicht glauben, wie viel Geld ich tun musste, um ein einfaches Projekt zum Laufen zu bringen. (Dies beinhaltet den Versuch, einige der von Android Studio bereitgestellten Beispielprojekte zu erstellen / auszuführen.)
pdoherty926
2
Der 16. Juli 2018 funktioniert auch für mich mit 'com.android.support:appcompat-v7:28.0.0-alpha3'.
CoolMind
26

Juni 2018 Problem behoben, das mit einer anderen Appcompact-Version behoben wurde. Verwenden Sie diese Codes für Ihre Projektabhängigkeiten ...

Fügen Sie in build.gradle (Modul: App) diese Abhängigkeit hinzu

implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'

Viel Spaß beim Codieren ... :)

Abhishek
quelle
4
Es ist wieder in der Beta kaputt :(
nifCody
17

Methode 1:

Lokalisieren /res/values/styles.xml

Veränderung

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

Zu

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">

Methode 2:

Ändern Vorlagendatei (lokalisieren: android-studio/plugins/android/lib/templates/gradle-projects/NewAndroidModule/root/res/values/styles.xml.ftl)

Veränderung

backwardsCompatibility!true>Theme.AppCompat<#else><#if

Zu

backwardsCompatibility!true>Base.Theme.AppCompat<#else><#if

Lösung auf YouTube ansehen

Lösung

Shellhub
quelle
17

Ich hatte auch dieses Problem und es wurde als Änderungszeile von res / values ​​/ styles.xml gelöst

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

zu

  1. <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
  2. <style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">

Beide Lösungen haben funktioniert

Muhammad Azam
quelle
Happy Coding :)
Muhammad Azam
6

Öffnen Sie den Vorschaumodus

Folgen Sie dem unten stehenden Link, um das Problem zu beheben

Fix - Rendering-Probleme Die folgenden Klassen konnten nicht gefunden werden: android.support.v7.internal

gehe zu appTheme ----> wähle Holo Theme ---> aktualisiere

https://www.youtube.com/watch?v=4MxBnwpcUjA

Upendranath Reddy
quelle
1
Nur das Thema vom Vorschaufenster auf ein anderes Thema als AppTheme zu ändern hat funktioniert
Qasim
Es hat bei mir funktioniert und nur das andere Thema als AppTheme geändert
gIrL
6

Konnte das gleiche Problem in Android Studio 3.1.3

Gehen Sie einfach zu style.xml Datei

und ersetzen Sie den Themennamen

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

mit

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">

Dann reinigen und wieder aufbauen die project.This wird den Fehler beheben.

Md Nakibul Hassan
quelle
5

Ersetzen implementation 'com.android.support:appcompat-v7:28.0.0-beta01' durch

implementation 'com.android.support:appcompat-v7:28.0.0-alpha1' 

in build.gradle (Modul: App). Es hat meine rote Markierung in Android Studio 3.1.3 behoben

Kashif
quelle
Große glückliche Codierung
Kashif
Gibt es eine Möglichkeit, dies auf App-Ebene zu ändern? Damit dies nicht für jedes Projekt, das ich habe, repliziert werden muss.
TheGeeko61
4

In Android 3.0.0 Canary 6 müssen Sie alle 2.6.0 Beta2 in Beta1 ändern (Appcompat, Design, Supportvector).

reza rahmad
quelle
4

Versuche dies:

Nur ändern:

compile 'com.android.support:appcompat-v7:26.0.0-beta2'

zu:

compile 'com.android.support:appcompat-v7:26.0.0-beta1'

Referenz

VY
quelle
3

Dies funktioniert für mich Ich habe die folgenden Änderungen in Style.xml vorgenommen

Ändern Sie den folgenden Code:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

Mit

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
dev_mg99
quelle
2

Verwende das hier:

implementation 'com.android.support:appcompat-v7:26.0.0-beta1'
implementation 'com.android.support:design:26.0.0-beta1'

anstatt

implementation 'com.android.support:appcompat-v7:26.0.0-beta2'
implementation 'com.android.support:design:26.0.0-beta2'

In meinem Fall wurde das Rendering-Problem behoben.

Vikash Singh
quelle
1

Dies ist die Mindestkonfiguration, die das Problem löst.

verwenden:

dependencies {
    ...
    implementation 'com.android.support:appcompat-v7:26.1.0'
    ...
}

mit:

 compileSdkVersion 26
 buildToolsVersion "26.0.1"

und in die Datei build.gradle im Stammverzeichnis des Proyect:

buildscript {
    ...
    ....
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        ...
        ...
    }
}
Jorgesys
quelle
0

Ich hatte auch das gleiche Problem. Nichts wie das Ändern des Themas im Layout-Vorschaufenster hat mir geholfen.

Was hat mir geholfen wurde, diese zu Appthemein styles.xml:

dependencies {
    implementation 'com.android.support:appcompat-v7:27.0.2'
    implementation 'com.android.support:design:27.0.2'
}

Trotzdem gab es mir den Fehler: "Symbol Widget kann nicht aufgelöst werden ... KoordinatorLayout". Dann habe ich meine aktualisiert build.gradle(app)mit:

dependencies {
    implementation 'com.android.support:appcompat-v7:27.0.2'
    implementation 'com.android.support:design:27.0.2'
}

Eine Sache noch:

compileSdkVersion 27
targetSdkVersion 27
Anu Bhalla
quelle
0

Ich hatte auch dieses Problem mit implementation 'com.android.support:appcompat-v7:28.0.0-alpha3' .

Die Lösung für mich war File-> Invalidate Caches / Restart-> Invalidate-> Close Project-> Projekt aus Projektfenster entfernen -> Open Project(aus Projektfenster).

SnuKies
quelle