Échec du chargement d'AppCompat ActionBar avec une erreur inconnue dans Android Studio

153

Voici mon fichier xml. Dans l'aperçu, il y a deux erreurs «Échec du chargement d'AppCompat ActionBar avec une erreur inconnue» et «Échec de l'installation de plus d'une classe». Cependant, je suis capable d'exécuter l'application, mais l'application se bloque et dans Logcat aucune erreur n'est affichée.

Ceci est ma capture d'écran d'aperçuentrez la description de l'image ici

<?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>

Ci-dessous, 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
la source
Essayez de changer la version d'Android.
chetan mekha
essayé de changer la version .. Pas aidant
Siva
Pour une solution sans changer la bibliothèque appcompat, voir: stackoverflow.com/questions/44223687#45002903
Mr-IDE
Possible duplication de problèmes de rendu Android Studio
Shayan
Assurez-vous que votre version Gradle est à jour.
Ramiz Ansari

Réponses:

323

La solution à ce problème dépend de la version de la bibliothèque de support Android que vous utilisez:

Bibliothèque de support 26.0.0-beta2

Cette version de la bibliothèque de support Android a un bogue causant le problème mentionné

Dans votre fichier de construction Gradle, utilisez:

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

avec:

buildToolsVersion '26.0.0' 

et

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

tout devrait bien fonctionner maintenant.


Bibliothèque version 28 (bêta)

Ces nouvelles versions semblent souffrir à nouveau de difficultés similaires.

Dans votre res/values/styles.xmlmodifiez le AppThemestyle de

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

à

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

(notez l'ajout Base.)

Ou rétrograder la bibliothèque jusqu'à ce que le problème soit résolu:

implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
Debashis Choudhury
la source
23
Je vous remercie! ça l'a fait. BTW pour nous Android dev newbiew dit que le changement devrait être effectué sur le fichier build.gradle (Module: app)
Julian Borrero
2
Je viens de commencer aujourd'hui. Je suis tombé sur ce problème. Cette réponse demande de compiler quelque chose, dont je n'ai aucune idée car elle n'explique pas comment le faire. Mais la réponse par tanchap résout le problème. Il / Elle a clairement expliqué ce qu'il fallait faire. C'était une tâche simple pour un plus frais comme moi. Je pense donc que cela devrait être la réponse.
Buddhika Ariyaratne
1
Erreur Newb pour moi! Quand j'ai mis en place mon nouveau projet, j'ai oublié de décocher l'option "Compatibilité descendante" (je n'ai pas besoin de compatibilité descendante). J'ai recréé le projet avec cette option non cochée et tout va bien!
Doug J.Huras
7
Juste curieux: comment faire pour comprendre quelque chose comme ça? Je n'aurais jamais deviné ...
BareMetalCoder
3
Merci, mais pourquoi ce bug existe encore en 2018? Pour un débutant Android, je ne peux pas créer de projet "Hello World" à cause de ce bogue.
Searene
276

trouvé sur ce site, cela fonctionne sur moi. Modifiez /res/values/styles.xml à partir de:

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

à:

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
</style>
tanchap
la source
21
Pouvez-vous ajouter une explication de la raison pour laquelle cela fonctionne? Cela aidera les gens qui revoient cela à l'avenir.
Thomas Smyth
13
Le 1er mars 2018 a confirmé cela a résolu mon problème.
John Riselvato
Notez simplement que, si cela ne fonctionne pas après avoir ajouté "Base" dans votre AppTheme, accédez simplement à l'option Thème en haut de votre aperçu de la mise en page, cliquez sur les options Thèmes du manifeste à gauche, puis sélectionnez votre Thème App. Il actualisera automatiquement la mise en page.
Khaled Saif
4
Cela a également fonctionné pour moi. Est-ce que quelqu'un sait pourquoi c'est nécessaire? Je suis loin d'Android depuis quelques années et je ne peux pas croire à quel point j'ai dû faire pour qu'un projet simple soit opérationnel. (Cela inclut d'essayer de créer / d'exécuter certains des exemples de projets fournis par Android Studio.)
pdoherty926
2
Le 16 juillet 2018 fonctionne aussi pour moi avec 'com.android.support:appcompat-v7:28.0.0-alpha3'.
CoolMind
26

Juin 2018 Problème résolu à l'aide d'une autre version appcompact. Utilisez ces codes sur les dépendances de votre projet ...

Dans build.gradle (Module: app) ajoutez cette dépendance

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

Bon codage ... :)

Abhishek
la source
4
Il est à nouveau cassé en bêta :(
nifCody
17

Méthode 1:

Localiser /res/values/styles.xml

Changement

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

À

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

Méthode 2:

Modifier le fichier de modèle (localiser: android-studio/plugins/android/lib/templates/gradle-projects/NewAndroidModule/root/res/values/styles.xml.ftl)

Changement

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

À

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

Regardez la solution sur YouTube

Solution

shellhub
la source
17

J'ai également eu ce problème et il est résolu en tant que changement de ligne de res / values ​​/ styles.xml

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

à

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

les deux solutions ont fonctionné

Muhammad Azam
la source
happy coding :)
Muhammad Azam
6

Ouvrir le mode aperçu

suivez le lien ci-dessous pour résoudre le problème

Correctif - Problèmes de rendu Les classes suivantes sont introuvables: android.support.v7.internal

goto appTheme ----> sélectionnez Holo Theme ---> actualiser

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

Upendranath Reddy
la source
1
changer simplement le thème du volet de prévisualisation à un thème autre que AppTheme a fonctionné
Qasim
Cela a fonctionné pour moi, il suffit de changer le thème autre que AppTheme
gIrL
6

Face au même problème dans Android Studio 3.1.3

Allez simplement dans le fichier style.xml

et remplacez le nom du thème

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

avec

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

Ensuite, nettoyez et reconstruisez le projet, cela résoudra l'erreur.

Md Nakibul Hassan
la source
5

Remplacer implementation 'com.android.support:appcompat-v7:28.0.0-beta01' par

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

dans build.gradle (Module: app). Il a corrigé ma marque rouge dans Android Studio 3.1.3

Kashif
la source
Great happy coding
Kashif
Existe-t-il un moyen de changer cela au niveau de l'application? Pour que cela ne soit pas nécessaire pour chaque projet que j'ai.
TheGeeko61
4

dans android 3.0.0 canary 6, vous devez changer tous les 2.6.0 beta2 en beta1 (appcompat, design, supportvector)

reza rahmad
la source
4

Essaye ça:

Changez simplement:

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

à:

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

Référence

VY
la source
3

Cela a fonctionné pour moi, j'ai apporté les modifications suivantes dans Style.xml

Modifiez le code suivant:

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

Avec

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

Utilisez celui-ci:

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

au lieu de

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

Dans mon cas, cela a supprimé le problème de rendu.

vikash singh
la source
1

Il s'agit de la configuration minimale qui résout le problème.

utilisation:

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

avec:

 compileSdkVersion 26
 buildToolsVersion "26.0.1"

et dans le fichier build.gradle situé à l'intérieur de la racine du projet:

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

J'étais également confronté au même problème. Rien de tel que le changement de thème de la fenêtre d'aperçu de la mise en page ne m'a aidé.

Ce qui m'a aidé ajoutais cela Appthemeen styles.xml:

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

Cela me donnait toujours l'erreur: "Impossible de résoudre le widget de symbole ... coordinatorLayout". Ensuite, j'ai mis à jour mon build.gradle(app)avec:

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

Encore une chose:

compileSdkVersion 27
targetSdkVersion 27
Anu Bhalla
la source
0

J'ai également eu ce problème avec implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'.

La solution pour moi était d'aller File-> Invalidate Caches / Restart-> Invalidate-> Close Project-> Supprimer le projet de la fenêtre de projet -> Open Project(de la fenêtre de projet).

SnuKies
la source