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

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'

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>

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 ... :)


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


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é


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


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.


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


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)


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


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

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.


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'
        ...
        ...
    }
}

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

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).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.